您的位置:程序门 -> .net技术 -> c#



关于datagrid数据保存的问题(急)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于datagrid数据保存的问题(急)
发表于:2007-01-06 10:05:41 楼主

按钮调用如下方法:没有报错,但是重新检索的时候数据没有改变
public   static     void   updatedataset(dataset   dataset,   string   tablename,string   connstr)
{
sqlconnection   conn   =   new   sqlconnection(connstr);
conn.open();
string   ls_sql   =   "select   top     0   *   from   "   +   tablename;
sqldataadapter   da   =   new   sqldataadapter(ls_sql,conn);
sqlcommandbuilder   cb   =   new   sqlcommandbuilder(da);
dataset   ds   =   new   dataset();
ds.clear();
da.fill(ds,tablename);
ds   =   dataset.copy();
try
{
da.update(ds,tablename);
}
catch(system.data.sqlclient.sqlexception   e)
{
throw   new   exception(e.message);
}
finally
{
conn.close();
da.dispose();
cb.dispose();
ds.dispose();
dataset.acceptchanges();
}
}
发表于:2007-01-06 10:06:401楼 得分:0
private   void   button3_click(object   sender,   system.eventargs   e)
{
dscus.acceptchanges();
        jxc.publicdata.updatedataset(dscus, "customer ",conntodatabase.dataconn);
}
这是按钮事件代码如上:调用publicdata.updatedataset方法
发表于:2007-01-06 10:09:522楼 得分:0
跟踪一下
发表于:2007-01-06 10:34:243楼 得分:0
跟踪了,都没有发现问题,不管是增加,编辑之后保存都不行!数据并没有改变,都设有主键
发表于:2007-01-06 19:47:554楼 得分:0
public     int   updatedataset(system.data.datatable   qgf_datatable,   string   selectcommand,system.data.sqlclient.sqlcommand   qgf_insert)
{
using(sqlconnection   qgf_sqlconnection=new   sqlconnection())
{
qgf_sqlconnection.connectionstring=this._strsqlstring;
sqlcommand   qgf_sqlcommand=new   sqlcommand();
qgf_sqlcommand.connection=qgf_sqlconnection;
qgf_sqlcommand.commandtype=commandtype.storedprocedure;
qgf_sqlcommand.commandtext=selectcommand;

qgf_insert.connection=qgf_sqlconnection;
qgf_insert.commandtype=commandtype.storedprocedure;

sqldataadapter   adapter   =   new   sqldataadapter(qgf_sqlcommand);
sqlcommandbuilder   cmdbuilder   =   new   sqlcommandbuilder(adapter);

adapter.insertcommand=qgf_insert;

adapter.updatecommand=cmdbuilder.getupdatecommand();
adapter.deletecommand=cmdbuilder.getdeletecommand();
int   val=0;
try
{
val=   adapter.update(qgf_datatable);
qgf_datatable.acceptchanges();
}
catch(system.exception   ex)
{
val=2;
}
finally
{
adapter.dispose();
cmdbuilder.dispose();
qgf_sqlcommand.dispose();
qgf_sqlconnection.dispose();

}
return   val;
}
}
发表于:2007-01-07 16:06:145楼 得分:0
风谷能不能把你上面的代码解释一下,我看的不是太懂,是个自己编写的函数吗?那要传给的参数是什么呢,谢谢


快速检索

最新资讯
热门点击