苏飞论坛

标题: 当datagridview绑定的 DataSet是多表查询结果集时,如何通过sqlcommandbuilder把da... [打印本页]

作者: 站长苏飞    时间: 2013-4-24 10:36
标题: 当datagridview绑定的 DataSet是多表查询结果集时,如何通过sqlcommandbuilder把da...
白云外()  10:29:03
当datagridview绑定的 DataSet是多表查询结果集时,如何通过sqlcommandbuilder把datagridview的修改提交到数据库
白云外()  10:30:47
或者有什么其他办法把datagridview绑定的DataSet的修改提交到数据库?
&叮咚()  10:31:46
datagridviewb不提倡这么做的
DataSet不提倡这么做的

白云外()  10:32:04

那可以怎么做呢?
&叮咚()  10:32:50
单表
白云外()  10:33:44
但是我表1中的字段是ID,表2中对应这个ID的是名称
我要把这个名称显示到datagridview中
不连接查询?
白云外()  10:35:05
然后修改datagridview后,怎么能把这个修改保存到数据库
&叮咚()  10:35:20
databale连接 或是select 内嵌




作者: 站长苏飞    时间: 2013-4-24 10:40
[code=csharp]//自动生成用于更新的命令
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);//将数据库集中修改过的数据提交到数据库
dataAdapter.Update(dataSet, "Pay");[/code]
只同步更新过的数据,如果第二张表未动,是不用管的
作者: 站长苏飞    时间: 2013-4-24 10:42
白云外()  10:40:41
但是Dataset是连接查询的结果,数据库中没有单表跟他直接对应,sqlcommandbuilder提交的时候,应该就不知道到底是去修改哪个表把?
♂站长苏飞()  10:41:36
你是说你查询时使用了,链接查询?
建议修改为视图就行了,
或者你试试吧,看他会怎么修改
白云外()  10:40:41
但是Dataset是连接查询的结果,数据库中没有单表跟他直接对应,sqlcommandbuilder提交的时候,应该就不知道到底是去修改哪个表把?
♂站长苏飞()  10:41:36
你是说你查询时使用了,链接查询?
建议修改为视图就行了,
或者你试试吧,看他会怎么修改
白云外()  10:44:07
dataTbale连接 ,是不是把SQL语句中的连接,通过对2个dataTbale的遍历比较外键去给datagridview中单独的那一列赋值
替换
白云外()  10:46:02
试试吧
&叮咚()  10:46:08
不用替换 好像直接就可以  
这样速度更好,更容易更新
微软提倡的方式
白云外()  10:46:26
..
白云外()  10:51:15
没太明白,要使一个datatable中的列与另一个datatable列的值关联起来,一个方法是SQL语句中联接查询,还有好像通过dataset中的2个datatable遍历找到哪个关联字段值相等,然后给datagridview的单独的那一列赋值
不知道是不是这个意思
真心没明白你说的意思啊





欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4