我设计的界面是这样的,一部分数据库的内容通过文本框显示,另一部分通过datagridview显示,两部分是同一条记录的。但是我在进行修改的时候,只能修改部分内容,文本框内的是可以修改的,但是datagridview里的内容只能部分传入数据库,即我输一个单元格的内容他传不进去,我输两个单元格内容时,上一个的传进去了,我输三个时前两个输的传进去了,以此类推。我是初学者,希望你们能给点解决办法,以下是我的代码:
string a1 = dataGridView1.Rows[0].Cells[0].Value.ToString();
string a2 = dataGridView1.Rows[0].Cells[1].Value.ToString();
string a3 = dataGridView1.Rows[0].Cells[2].Value.ToString();
string a4 = dataGridView1.Rows[0].Cells[3].Value.ToString();
string a5 = dataGridView1.Rows[0].Cells[4].Value.ToString();
string a6 = dataGridView1.Rows[0].Cells[5].Value.ToString();
SqlConnection cn = new SqlConnection(str); //str已经赋值
cn.Open();
string sqlxiugai = "update demand set product_id='" + textBox2.Text + "',salesman_id='" + textBox3.Text + "',client_id='" + textBox4.Text + "',product_name='" + a1 + "',require='" + a2 + "',mat_require='" + a3 + "',pmat_require='" + a4 + "',p_require='" + a5 + "',salesman='" + a6 + "' where demand_id='"+textBox1.Text+"'";                       
SqlCommand xiugai; 
xiugai = new SqlCommand(sqlxiugai, cn);
xiugai.CommandType = CommandType.Text;
xiugai.ExecuteNonQuery();
xiugai.Dispose();
MessageBox.Show("修改成功", "提示");

解决方案 »

  1.   

    http://blog.csdn.net/denqh/article/details/7060166
    将OleDb心为Sql就行了
      

  2.   

    xiugai = new SqlCommand(sqlxiugai, cn);在这个位置加个断点看下 sqlxiugai 的值就知道了
      

  3.   

    datagridview有个方法好像叫 EndEdit() 你查一下,就是结束编辑.
    如果不结束,可能最后一个单元格变成未提交状态,因此无法更新.
      

  4.   

    问题解决了,是没结束编辑的问题,我是点保存才能修改的,endedit我之前有用过没用的,后来知道只要光标点别处就OK了,还是谢谢各位了,第一次进这里发帖,热心人很多哈
      

  5.   

    将数据库和datagridview操作写成2个操作类,编译为DLL,这样方便很多