求教,有谁知道如何用dataset更新多张关联表的信息到数据库? 我从多张关联表创建了一个dataset,并以datagrid表示数据,修改数据后,如何再用dataset把数据更新到数据库中的相关的多张关联表呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用DataSet,自动更新,参考这里 http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=51738 我指的情况是:用strSql= "select 表1.id,表2.name,表3.text1 from 表1 inner join 表2 on 表1.id1 = 表2.id1 inner join 表3 on ... ";db_sqladapter = new SqlDataAdapter(strSql,conn);db_sqladapter.Fill(myDataSet,table_name);datagrid1.DataSource = myDataSet.Tables[tableName].DefaultView;datagrid1.DataBind();这样的语句绑定datagrid1并显示,现在修改datagrid后,要更新数据库中这3张表的数据,如何实现?我知道有个批量更新一张表的方法,如下:/// <summary> /// 用DataSet实现批量更新数据库 /// </summary> public DataSet UpdateByDataSet(DataSet my_DataSet,string table_name) { db_sqladapter = CreateDataAadapter(table_name); SqlCommand myCommand = new SqlCommand("select * from "+table_name,conn); db_sqladapter.SelectCommand = myCommand; SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(db_sqladapter); try { lock(this) //处理并发情况(分布式情况) { db_sqladapter.Update(my_DataSet,table_name); } } catch(Exception err) { conn.Close(); Console.WriteLine("Exception:"+err.ToString() ); } return my_DataSet; //数据集的行状态在更新后会都变为: UnChange,在这次更新后客户端要用返回的my_DataSet }但是,用这方法好像不能实现这种情况下的多张表的数据库更新?有啥方法呢? 链接数据库的时候使用了单键模式,是否会对访问构成影响 wcf 开发时服务引用的几种方法,到底什么时候关闭服务代理最好 |M| 我的第一个ajax示例的几个疑问 关于ajax中javascript调用的问题 C#中的全局變量是什麼? 在datagrid中数据更新的问题(高分求救) 应用程序中的服务器错误 需要一个支持大文件上传的程序(C#.net) ASPNET中动态控件的问题 datagrid?显示数据库的内容。怎么才能使同一行的数据库字段在不同行显示? 请教数据库连接 救急,怎么才能在线编辑WORD文件!! 关于在线编辑器FCKeditor2的问题
用strSql= "select 表1.id,表2.name,表3.text1 from 表1 inner join 表2 on 表1.id1 = 表2.id1 inner join 表3 on ... ";
db_sqladapter = new SqlDataAdapter(strSql,conn);
db_sqladapter.Fill(myDataSet,table_name);
datagrid1.DataSource = myDataSet.Tables[tableName].DefaultView;
datagrid1.DataBind();
这样的语句绑定datagrid1并显示,现在修改datagrid后,要更新数据库中这3张表的数据,如何实现?我知道有个批量更新一张表的方法,如下:
/// <summary>
/// 用DataSet实现批量更新数据库
/// </summary>
public DataSet UpdateByDataSet(DataSet my_DataSet,string table_name)
{
db_sqladapter = CreateDataAadapter(table_name);
SqlCommand myCommand = new SqlCommand("select * from "+table_name,conn);
db_sqladapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(db_sqladapter);
try {
lock(this) //处理并发情况(分布式情况) {
db_sqladapter.Update(my_DataSet,table_name);
} }
catch(Exception err)
{
conn.Close();
Console.WriteLine("Exception:"+err.ToString() );
}
return my_DataSet; //数据集的行状态在更新后会都变为: UnChange,在这次更新后客户端要用返回的my_DataSet
}
但是,用这方法好像不能实现这种情况下的多张表的数据库更新?有啥方法呢?