关于DATASET更新数据库的问题??? 我是新手,我取到了一个表里的数据,然后存储到DATASET里面了。我怎么把这个DATASET里的数据更新到另一张表中啊 (两个表的结构完全一样)请说详细一点 谢谢 这个问题我研究一天了 也没解决 急死我了 我是在WINFORM里面 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataSet ds = null;SqlDataAdapter adapter = null;SqlCommandBuilder sqlbuilder = null;//该按钮读取数据,并绑定数据private void button1_Click(object sender, EventArgs e) ...{ ds = new DataSet(); SqlConnection cn = new SqlConnection("Data Source=.;User ID=sa;Password=0;Initial Catalog=BMIS"); SqlCommand cm = new SqlCommand(); adapter = new SqlDataAdapter(cm); sqlbuilder = new SqlCommandBuilder(adapter); cm.Connection = cn; cm.CommandType = CommandType.Text; cm.CommandText = "select * from [providerInfo]"; adapter.Fill(ds); //该方法把得到的数据放入一个DataTable中 dataGridView1.DataSource = ds.Tables[0]; 把数据绑定到DataGridView }//向数据库返回修改的数据.private void button2_Click(object sender, EventArgs e) ...{ adapter.Update(ds); } 从另一张表返回一个空查询(select * from table where 1 = 2)到DataSet dataset2中,再将dataset1中数据逐条插入到dataset2,再用dataset2保存。 为什么我 adapter.Update(ds); 的时候没反映啊 就是不更新 急啊 ———— 如果自己没写更新SQL语句的话,要加上这句:SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(adapter); public void UpdateDs(DataSet ds, string tableName,string str) { try { SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10"); con.Open(); SqlDataAdapter da= new SqlDataAdapter(str,con); DataSet ds2=new DataSet(); da.Fill(ds2); ds2 = ds; SqlCommandBuilder salcb = new SqlCommandBuilder(da); da.Update(ds2); ds2.AcceptChanges(); // return ds;//返回更新了的数据库表 con.Close(); } catch (Exception ex) { } }我的代码是这样的 ds2 = ds;这一句会有问题的,dataSet引用型,在ds2 = ds后,da.Update(ds2)和da.Fill(ds2)两条语句里的ds2指向的就不是同一个dataSet了,所以update的时候会有问题LZ自己写代码把ds里的值复制到ds2里试试~ public void UpdateDs(DataSet ds, string tableName,string str) { try { SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10"); con.Open(); SqlDataAdapter da= new SqlDataAdapter(str,con); DataSet ds2=new DataSet(); da.Fill(ds2); ds2 = ds; SqlCommandBuilder salcb = new SqlCommandBuilder(da); da.Update(ds2); ds2.AcceptChanges(); // return ds;//返回更新了的数据库表 con.Close(); } catch (Exception ex) { } } 抽象工厂 关于C#调用MapWinGIS的,求指点 怎样给引用类型只传值?? 页面的值接收问题 揭露杭州一家极其垃圾的软件小公司 在web上向数据库中添加记录出现问题,帮我看看 请教!!!!!!!!!!!!急求C#入门至精通教程,望推荐好书(可加更多分) ???各位救命,我实在晕了,关于静态变量-_-! 向各位高手请教一道C#连接数据库的题 关于数据库改造问题Sql ==> Oracle,发言者有分,谢了! ..初学者求救.. 对方说提供我COM接口,但是我不懂,谁能给我解释
SqlDataAdapter adapter = null;
SqlCommandBuilder sqlbuilder = null;//该按钮读取数据,并绑定数据
private void button1_Click(object sender, EventArgs e)
...{
ds = new DataSet();
SqlConnection cn = new SqlConnection("Data Source=.;User ID=sa;Password=0;Initial Catalog=BMIS");
SqlCommand cm = new SqlCommand();
adapter = new SqlDataAdapter(cm);
sqlbuilder = new SqlCommandBuilder(adapter);
cm.Connection = cn;
cm.CommandType = CommandType.Text;
cm.CommandText = "select * from [providerInfo]";
adapter.Fill(ds); //该方法把得到的数据放入一个DataTable中
dataGridView1.DataSource = ds.Tables[0]; 把数据绑定到DataGridView
}//向数据库返回修改的数据.
private void button2_Click(object sender, EventArgs e)
...{
adapter.Update(ds);
}
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(adapter);
{ try
{
SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10");
con.Open();
SqlDataAdapter da= new SqlDataAdapter(str,con); DataSet ds2=new DataSet();
da.Fill(ds2);
ds2 = ds;
SqlCommandBuilder salcb = new SqlCommandBuilder(da);
da.Update(ds2);
ds2.AcceptChanges(); // return ds;//返回更新了的数据库表
con.Close();
} catch (Exception ex)
{ }
}
我的代码是这样的
da.Update(ds2)和da.Fill(ds2)两条语句里的ds2指向的就不是同一个dataSet了,所以update的时候会有问题
LZ自己写代码把ds里的值复制到ds2里试试~
{ try
{
SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10");
con.Open();
SqlDataAdapter da= new SqlDataAdapter(str,con); DataSet ds2=new DataSet();
da.Fill(ds2);
ds2 = ds;
SqlCommandBuilder salcb = new SqlCommandBuilder(da);
da.Update(ds2);
ds2.AcceptChanges(); // return ds;//返回更新了的数据库表
con.Close();
} catch (Exception ex)
{ }
}