日期:2014-05-19  浏览次数:20520 次

使用dataset结合commandbuilder更新数据的问题
先定个操作类(operate),其中有个读取方法
  .
  .
  .
public   DataTable   loadinfo()
{
da=new   SqlDataAdapter( "select   *   from   tableA ",con);  
//读取数据库表A,假设只有N个字段和一行数据
ds=new   DataSet();
da.Fill(ds);
dt=ds.Tables[0];
return   dt;
}

某个面页中有N个textbox和button,效果是按button时使数据库更新为textbox里的内容
private   void   btnUpdate_Click(...)
{
operate   op=new   operate();
DataTable   dt2=op.loadinfo();
DataRow   dr=dt2.Rows[0];
dr[0]=this.TextBox1.Text;
.
.
.
dr[n-1]=this.TextBoxn.Text;
//这里求调用一个在operate类中的更新方法

}

这下面是我个人在operate类中写的一个更新方法
public   void   updateinfo(DataTable   dt)
{
//这个方法里传入的参数就是上面页中的dt2
//这里我要求使用SqlCommandBuilder   cb=new   SqlCommandBuilder(da)
//和da.Update(ds)这种方式进行更新
}

小弟就是求上面方法(updateinfo)的内容该怎么写.我要的是必须使用CommandBuilder+DataAdapter.Update()
这种方式更新.用SQL语句或用updatecommand语句我是会的(大家就不用麻烦了);而且我求的也必须是通过传参的方式传入另一个类进行
更新的方法,因为直接在面页的后台使用CommandBuilder+DataAdapter.Update()这种方式我也是会的(大家就不用麻烦了).
所以,呵呵,请各位高手帮帮忙.
提示:我已经弄了很久,无论是把loadinfo()中的ds用copy()给updateinfo()还是用Add()把传回来的dt加进去,都不行.在线等到12点.

------解决方案--------------------
结贴!