这样的dataSet怎样更新? 关联的一般不可以update,应该把dataSet内容用update语句写到表中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 update方法执行的实际就是insert,update,delete等SQL语句,这些语句一次只能更新一个表。多表联合查询得到的DataSet实际相当于View,里面的数据虽然可以从多个表里取出里,但更新时只能更新一个表,可能也可以写额外的控制逻辑更新多个表(我没这么做个,不敢肯定)。我觉得最好换个思路,将table1,table2分别fill到同一个DataSet的不同DataTable里,这样好做一些。 自己去写个代码update一下不就明白了吗,楼主可以更新一下table1看看结果 直接写update语句更新就行了,不用管select <可以更新,以什么条件从哪个表中读出来就以什么条件更新到哪个表中去.DataSet更新时记录的字段对应从数据库表中所对应的记录的字段>//数据对象初始化string strConnection;string strSQL; DataSet objDataSet = new DataSet();SqlConnection objConnection;SqlDataAdapter objAdapter;//连接字符串 strConnection = "";//SQL指令strSQL = "select table1.item1,table2.item2 from table1,table2 where table1.id = table2.subid";objConnection = new SqlConnection(strConnection);objAdapter = new SqlDataAdapter(strSQL,objConnection);objAdapter.Fill(objDataSet,"TempTable");/*数据绑定 DataSource = objDataSet.Tables("TempTable").DefaultView*//*通过控件更新DataSet过程略..*/ //更新代码初始化SqlCommandBuilder objBuilder = new SqlCommandBuilder(objAdapter);objAdapter.UpdateCommand = objBuilder.GetUpdateCommand();objAdapter.InsertCommand = objBuilder.GetInsertCommand();objAdapter.DeleteCommand = objBuilder.GetDeleteCommand(); //更新数据库objAdapter.Update(objDataSet,"TempTable"); 自己写更新语句,因为多表关联的数据适配器不能自动生成UpdataeCommand 、InsertCommand 、DeleteCommand其实自己写的才好用 MDI父窗体控件挡住子窗体 吸引眼球~速度来解答~ArrayList AL = new ArrayList(); 谁来叫我做个QQ(C/S) JS读取时间问题 用c#在vs2005上编写小游戏程序 gridview实现分组统计? 求助,关于mudbus rtu协议,多地址采集数据解决方案 stringBuilder,加密,字符串替换, winform程序部署与oracledataaccess的版本问题 谁会将dataSet中的数据导入到Excel中 请SQL高手看看一个很有技术含量、但又简单的SQL查询语句,不胜感激! 安装.NET时无法更新组件啥问题?
//数据对象初始化
string strConnection;
string strSQL;
DataSet objDataSet = new DataSet();
SqlConnection objConnection;
SqlDataAdapter objAdapter;//连接字符串
strConnection = "";//SQL指令
strSQL = "select table1.item1,table2.item2 from table1,table2 where table1.id = table2.subid";
objConnection = new SqlConnection(strConnection);
objAdapter = new SqlDataAdapter(strSQL,objConnection);
objAdapter.Fill(objDataSet,"TempTable");/*数据绑定 DataSource = objDataSet.Tables("TempTable").DefaultView*/
/*通过控件更新DataSet过程略..*/
//更新代码初始化SqlCommandBuilder objBuilder = new SqlCommandBuilder(objAdapter);
objAdapter.UpdateCommand = objBuilder.GetUpdateCommand();
objAdapter.InsertCommand = objBuilder.GetInsertCommand();
objAdapter.DeleteCommand = objBuilder.GetDeleteCommand();
//更新数据库objAdapter.Update(objDataSet,"TempTable");
因为多表关联的数据适配器不能自动生成UpdataeCommand 、InsertCommand 、DeleteCommand
其实自己写的才好用