| 发表于:2007-02-06 12:05:374楼 得分:0 |
/// <summary> /// 保存grid中的数据到数据库表中 /// </summary> internal static void updatedata(sqlconnection conn, string updatestring,dataset ds) { sqldataadapter da = new sqldataadapter(); da.selectcommand = new sqlcommand(updatestring,conn); sqlcommandbuilder cb = new sqlcommandbuilder(da); da.insertcommand = cb.getinsertcommand(); da.updatecommand = cb.getupdatecommand(); da.deletecommand = cb.getdeletecommand(); conn.open(); sqltransaction datatransaction = null ; try { //dvrs = dataviewrowstate.modifiedcurrent; datatransaction = conn.begintransaction(isolationlevel.serializable); da.insertcommand.transaction = datatransaction; da.updatecommand.transaction = datatransaction; da.deletecommand.transaction = datatransaction; da.update(ds.tables[0].select( " ", " ",dataviewrowstate.added)); da.update(ds.tables[0].select( " ", " ",dataviewrowstate.modifiedcurrent)); da.update(ds.tables[0].select( " ", " ",dataviewrowstate.deleted)); datatransaction.commit(); ds.acceptchanges(); messagebox.show( "保存成功! "); } catch(system.systemexception ex) { datatransaction.rollback(); messagebox.show(ex.message, "保存失败 "); } finally { ds.clear(); da.fill(ds); conn.close(); } } 我这样操作也不行,要么你自己试下看能不能出来数据,请使用vs 2005+sql 2000 | | |
|