大众信息网

C# dataset 更新数据库

答案:4  mip版
解决时间 2021-01-08 19:23
  • 提问者网友:巴黎左岸
  • 2021-01-08 02:14
我是想把数据库中的一个表 填到 dataset中,然后显示到dataGridView上,在dataGridView上更改,点击按钮更新到数据库,这个过程怎么写? 本人刚学习这个, 要求有代码例,和一些文字说明。急死了问题补充:

我说清楚点吧;如下面:

string Conn = "server=.;database=MySchool;uid=sa;pwd=sasa";
SqlConnection conn = new SqlConnection(Conn);
string sSql = "select * from student";
SqlDataAdapter da = new SqlDataAdapter(sSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
上面代码,已经实现把数据库中的student表 添加到DataSet中并显示到dataGridView
上,
现在我想问 怎么在dataGridView中更改DataSet中的一条记录,然后按保存按钮,更新到数据库?

请帮忙弄个完整点的例子吧!只写两句的那些真的不了整理!
最佳答案
  • 二级知识专家网友:时光暗淡了承诺
  • 2021-01-08 03:52
呵呵,你数据适配器没有更新方法
有得话只要在按钮事件中加入
da.Update(ds);

当然变量da,ds范围要够
这是C#3.0以前用,现在有的过时了
全部回答
  • 1楼网友:久而旧之
  • 2021-01-08 05:15
在你所说的保存按钮的单击事件里加上两段代码: SqlCommandBuilder cb = new SqlCommandBuilder(da); ad.Update(ds); 当然你的SqlDataAdapter 和DataSet对象要设置为全局的,这样你就可以在dataGridView里面修改了,并且还能更改多条数据,然后进行保存.
  • 2楼网友:久愛不厭
  • 2021-01-08 04:47

ds.table["tb"].rows.add(dr);应该要指定某一个表中添加一行。

sqlcommandbuilder builder = new sqlcommandbuilder(da);  //da如果访问不到,请设置为全局变量
    da.update(ds.tables["tb"]);

如果楼至还有什么疑问,请继续追问或加qq 309140400

如果没有,请采纳,谢谢

  • 3楼网友:在時光深處躲貓貓
  • 2021-01-08 04:33
private void button1_Click(object sender, EventArgs e) { if (isUpdate) { try { SqlCommandBuilder SCB = new SqlCommandBuilder(SDA); SDA.Update(你的datatable); //用此方法表必须有主键, isUpdate = false; } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); return; } MessageBox.Show("更新成功! "); } else { MessageBox.Show("没有更新内容! "); } } private void dataGridView1_CellValueChanged(object sender,DataGridViewCellEventArgs e)//判断是否有内容改变 { isUpdate = true; dataGridView1[e.ColumnIndex,e.RowIndex].Style.BackColor = Color.Blue; }
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯