使用datagridview直接更新数据库的不更新问题

.Net技术 码拜 9年前 (2016-04-30) 1072次浏览
使用这个读取数据库内容显示:

SqlConnection conn = new SqlConnection("Data Source=.;User ID=sa;Password=11;Initial Catalog=DataGridView");
            sda = new SqlDataAdapter("select * from UserInfo", conn);
            sda.Fill(ds);
            dgv.DataSource = ds.Tables[0];

使用这个更新:

SqlCommandBuilder cb = new SqlCommandBuilder(sda); 
                    sda.Update(ds);

可以更新数据库中date,float,int这类数字的内容,而nchar,nvarchar等这类全都不会更新。这是为什么?
再有一个现象,同样的select语句,在两个datagridview中显示时,一个会显示数据的空位,一个就不会,这个是哪里控制的?例如在dgv1中显示“KSG-11      “,dgv2中就显示”KSG-11″。和这个有关系么?都是用上述方法绑定的数据。

解决方案

50

写个更新的函数手动更新一下,SQL自动更新毕竟还是很多局限的。我们一般做法是写个数据模型,将属性和数据库的字段对应,绑定到DataGridView的列,更新的时候写个Update函数本人去更新。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明使用datagridview直接更新数据库的不更新问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)