可以用每次修改都生成一句upodate的sql语句并拼接起来成一句,然后在click的时候,执行拼接起来的这句sql.
解决方案 »
- C#如何将数据库表中的数据导出到txt中,属性之间用|隔开。求救
- treeview如何从数据库获取数据,动态生成节点
- listView与datatable 绑定之后, listView的值如何返回来更新数datatable
- 创建一个像qq一样的闪动盘出了问题
- 求解(并非所有的代码路径都返回值)?????
- 再请cancerser(都是混饭吃,记得要结帖)和其他高手
- help 十万火急
- 如何在.NET下实现窗体中页面变化功能
- 100分请教究竟什么是托管模块??
- 连接ORACLE数据库,字段模糊查询时参数的传入怎么做?
- 请问:sum +=++i怎么计算?
- 请问如何在DATAGRID中手工添加一个选择列和删除列
OleDbDataAdapter adapter=new OleDbDataAdapter(Strsql,conn);--申明此DataAdapter为全局变量;
DataSet ds=new DataSet();--此DataSet也为全局变量
这一举改了:
SqlCommandBuilder sqlcmd=new SqlCommandBuilder(adapter);
在cLICK事件中:
myDataAdapter.Update(ds, "BG@BGGS");
OleDbCommandBuilder olecmd=new OleDbCommandBuilder(adapter);
adapter.Update(ds, "BG@BGGS");
你们俩说的都可以执行,而且没问题,但是修改的数据还是没有反写到数据库中。我得源代码是这样的:
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.DataGrid dg;
private System.Data.DataSet ds;
private System.Data.OleDb.OleDbCommandBuilder cmdb;
private System.Data.OleDb.OleDbDataAdapter adapter;
private System.Data.OleDb.OleDbConnection conn;
private void button1_Click(object sender, System.EventArgs e)
{
string Source="Provider=IBMDADB2.1;User ID=db2admin;password=password;Data Source=test_app";
conn=new OleDbConnection(Source);
string Strsql="select * from FMS04.BG@BGGS";
adapter=new OleDbDataAdapter(Strsql,conn);
ds=new DataSet();
adapter.Fill(ds,"BG@BGGS");
this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
dg.DataSource=ds;
dg.DataMember="BG@BGGS";
}
private void button2_Click(object sender, System.EventArgs e)
{
this.ds.Tables["BG@BGGS"].AcceptChanges();
adapter.Update(ds,"BG@BGGS");
}
[email protected]
{
// 重新打开conn再关闭
//最后使用adapter.AcceptChanges();
}
{
conn.Open();
adapter.Update(ds,"BG@BGGS"); conn.Close(); this.ds.Tables["BG@BGGS"].AcceptChanges();
}
this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
换一下位置:
this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
adapter.Fill(ds,"BG@BGGS");
this.cb=new SqlCommandBuilder(da);//----
da.Fill(ds, "MyTable");更新按钮
private void button1_Click(object sender, System.EventArgs e)
{
da.Update(ds,"MyTable");
}注:其中cb,da,ds都是全局变量。