我的SQL SERVER2005中有表1,表2,表3,现需要一个更新数据库的类(如:UPDATESQL(DataSet ds)),
要求实现下述功能:一次性将SQL2005中的 表2,表3 中的记录读入DATASET (如DS1),然后再将DS1中的某些记录值改变后,
通过该类更新SQL2005数据(如:调用UPDATESQL(DS1))。/////////////问题:UPDATESQL(DataSet ds)
{
这里的内容如何写呢?}
请大峡帮忙。
要求实现下述功能:一次性将SQL2005中的 表2,表3 中的记录读入DATASET (如DS1),然后再将DS1中的某些记录值改变后,
通过该类更新SQL2005数据(如:调用UPDATESQL(DS1))。/////////////问题:UPDATESQL(DataSet ds)
{
这里的内容如何写呢?}
请大峡帮忙。
解决方案 »
- Page_Load与Page_Initr的一些问题
- sqlserver 表的ID问题
- 求如何利用Javascript在一个div里新增一个table,然后再删除这个table
- 不明白?
- 遇到一个非常奇怪的问题,哪位大侠能够解释一下,谢谢!
- DataBinding:“System.Data.DataRowView”不包含名为“zh_Staff_1”的属性。--------在线等
- 求一个简单的三层架构小程序!!
- 一个奇怪的asp问题,急需解决
- 询问关于asp.net (vb)连接带密码的access数据库问题
- 关于DataGrid分页的问题,大家进来看看!!
- 为什么我不能读写我的 run.txt(运行异常记录) 了?
- Server Error in '/' Application.问题
////////////using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace winApplication { public class sqlAccess { //与SQL Server的连接字符串设置 private string _connString; private string _strSql;
private SqlCommandBuilder sqlCmdBuilder; private DataSet ds = new DataSet(); private SqlDataAdapter da; public sqlAccess(string connString,string strSql) { this._connString=connString; }
private SqlConnection GetConn() { try { SqlConnection Connection = new SqlConnection(this._connString); Connection.Open(); return Connection; } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库连接失败"); throw; } }
//根据输入的SQL语句检索数据库数据 public DataSet SelectDb(string strSql,string strTableName) { try { this._strSql = strSql; this.da = new SqlDataAdapter(this._strSql,this.GetConn()); this.ds.Clear(); this.da.Fill(ds,strTableName); return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名 } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库操作失败"); throw; } }
//数据库数据更新(传DataSet和DataTable的对象) public DataSet UpdateDs(DataSet changedDs,string tableName) { try { this.da = new SqlDataAdapter(this._strSql,this.GetConn()); this.sqlCmdBuilder = new SqlCommandBuilder(da); this.da.Update(changedDs,tableName); changedDs.AcceptChanges(); return changedDs;//返回更新了的数据库表 } catch (Exception ex) { MessageBox.Show(ex.Message,"数据库更新失败"); throw; } } ////////////
如何更改上述例子,不用UpdateDs(DataSet changedDs,string tableName) 一次更新一个表,而要使其可以一次性更改两个以上的表:如DATASET 中有两个表,而更新时只要执行Update(DATASET )即可同时更新数据库中的两个表。如何改呢?
也就是说DS中填充的数据源不能是交叉查询得到的.要不然只能分别更新那两个table了.
,查询出后做了相应的改变,如何一次性 Update(DS) 啊?
////////////////////////////////////////////////////////
注意:我没有用到交叉查询!!!!