+ -
当前位置:首页 → 问答吧 → 我使用SQL语句对datagridview进行单元格修改,结果每次修改都少了最后一个单元格输入的内容

我使用SQL语句对datagridview进行单元格修改,结果每次修改都少了最后一个单元格输入的内容

时间:2011-12-10

来源:互联网

我设计的界面是这样的,一部分数据库的内容通过文本框显示,另一部分通过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("修改成功", "提示");

作者: wangyi96008   发布时间: 2011-12-10

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

作者: DENQH   发布时间: 2011-12-10

xiugai = new SqlCommand(sqlxiugai, cn);

在这个位置加个断点

看下 sqlxiugai 的值就知道了

作者: Sandy945   发布时间: 2011-12-10

我后一个输入的那个变量是空值,也就是说没传进去,我输了两个单元格的内容,只传进去一个,那我要怎么解决

作者: wangyi96008   发布时间: 2011-12-10

为空的原因找到了么? 那个为空了?

作者: Sandy945   发布时间: 2011-12-10

你的上面代码全不要,直用我上面的就可以了,其他不用管。

作者: DENQH   发布时间: 2011-12-10

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

作者: ycg_893   发布时间: 2011-12-10

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

作者: wangyi96008   发布时间: 2011-12-10

相关阅读 更多

热门下载

更多