2011-11-17 86 views
0

我想从datagridview编辑我的数据库记录并从那里保存。我需要声明哪些属性才能编辑数据网格?而button2是我的保存按钮,我如何更新到数据库?有人请帮助我谢谢!c#将datagridview中的数据保存到数据库

{ 
     //Get ID 
     string strTagIds = string.Empty; 

     //Connection to datebase 
     string c1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Project.mdb"; 
     OleDbConnection con = new OleDbConnection(c1); 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     //button1.Click += new EventHandler(dataGridView1_CellContentClick); 

     //Bind button 
     string txt = textBox1.Text; 

     string strOleDbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Project.mdb"; 
     string strSqlStatement = string.Empty; 
     strSqlStatement = "SELECT * FROM jiahe WHERE [User] = '" + txt + "'"; 
     OleDbConnection objConnection = new OleDbConnection(strOleDbConnectionString); 
     OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSqlStatement, objConnection); 
     DataSet ds = new DataSet(); 
     objAdapter.Fill(ds); 

     DataTable dt = ds.Tables[0]; 
     dataGridView1.DataSource = dt.DefaultView; 

     try 
     { 
      if (dt.Rows.Count == 1) 
      { 
       string strLine = string.Empty; 
       string strUser = string.Empty; 

       foreach (DataRow dr in dt.Rows) 
       { 
        string strTags = dr["Tag ID"].ToString(); 
        strUser = dr["User"].ToString(); 
        string strAge = dr["Age"].ToString(); 
        string strPhoneNumber = dr["Phone Number"].ToString(); 

        // prepare command string 
        string selectString = @"SELECT Status FROM jiahe where [User] = '" + textBox1.Text + "'"; 

        // 1. Instantiate a new command with command text only 
        OleDbCommand cmd = new OleDbCommand(selectString, objConnection); 

        // 2. Set the Connection property 
        cmd.Connection.Open(); 

        // 3. Call ExecuteScalar to send command 
        string str = cmd.ExecuteScalar().ToString(); 

        cmd.Connection.Close(); 

       } 
      } 
      else 
      { 
       if (dt.Rows.Count == 0) 
       { 
        MessageBox.Show("Invalid input!"); 
       } 
      } 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("Error!"); 
     } 
    } 

    private void textBox1_TextChanged(object sender, EventArgs e) 
    { 

    } 

    private void dataGridView1_CellContentClick(object sender, EventArgs e) 
    { 
     //dataGridView1.BeginEdit(true); 
     //MessageBox.Show("Hello"); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 

    } 

回答

0

您需要更改datagridview单元格内容值。您应该创建一个字符串,每次使用所选行的ID /索引编辑行时都会进行更新。然后,您可以在单击button2时更新数据库。

+0

你能给我看一个它应该如何流动的粗略例子吗? –

+0

看看这里http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-database或这里http://khanrahim.wordpress.com/2010/04/10/插入更新-删除与 - datagridview的 - 控制 - 在-C-Windows的应用程序/ – Coder

相关问题