datagridview同步更新数据库如何实现?

woshi95 2010-08-19 12:43:35
string sql2 = "select * from b1";
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="
+ Application.StartupPath
+ "\\db1.MDB";
OleDbConnection conn = new OleDbConnection(strConnection);

OleDbDataAdapter adp = new OleDbDataAdapter(sql2,conn);
OleDbCommandBuilder ocb = new OleDbCommandBuilder(adp);
DataTable dt = new DataTable();
//DataSet ds = new DataSet();
BindingSource bs = new BindingSource();
conn.Open();
adp.Fill(dt);
this.dataGridView1.DataSource = dt;
bs.DataSource = dt;
conn.Close();
adp.Update((DataTable)bs.DataSource);

以上是网上抄的我修改了一下 但是无法实现,请朋友们帮忙看看那里不对谢谢了!
...全文
675 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjue311 2012-08-25
  • 打赏
  • 举报
回复
请问楼主是怎么实现的?
flowerjack 2010-08-29
  • 打赏
  • 举报
回复
woshi95 2010-08-27
  • 打赏
  • 举报
回复
我用其他方法实现效果 虽然不是同步更新。谢谢大家帮忙!
haichunz 2010-08-19
  • 打赏
  • 举报
回复
bs.EndEdit();
this.dataGridView1.EndEdit();
TableAdapter.Update((DataTable)bs.DataSource);
TableAdapter.Fill((DataTable)bs.DataSource);
这个加在conn.Close();前面试试
zyd_fyl 2010-08-19
  • 打赏
  • 举报
回复
从新调用下绑定方法,就是同步更新了。
Daqing 2010-08-19
  • 打赏
  • 举报
回复
string sql2 = "select * from b1";
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="
+ Application.StartupPath
+ "\\db1.MDB";
OleDbConnection conn = new OleDbConnection(strConnection);

OleDbDataAdapter adp = new OleDbDataAdapter(sql2,conn);
OleDbCommandBuilder ocb = new OleDbCommandBuilder(adp);
DataTable dt = new DataTable();
//DataSet ds = new DataSet();
BindingSource bs = new BindingSource();
conn.Open();
adp.Fill(dt);
this.dataGridView1.DataSource = dt.Tables[0].DefaultView;
bs.DataSource = dt;
conn.Close();
adp.Update((DataTable)bs.DataSource);
无涯大者 2010-08-19
  • 打赏
  • 举报
回复
Update语句执行完成后,还是要重新绑定下数据,已达到同步更新数据库数据。。。
woshi95 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lantianxiadeyu 的回复:]
把具体要求说一下!
[/Quote]
datagridview不是可以直接在单元格里修改信息吗!
我想把修改好的信息 一下子全部更新到数据库里 如何实现的??
woshi95 2010-08-19
  • 打赏
  • 举报
回复
楼上的有没有实例啊 你说的理论的东西我一点都看不懂!
酋长 2010-08-19
  • 打赏
  • 举报
回复
ds中的表实际上就是你关联数据库读取的表。

是同一个表就可以,实现关联update,必须包含主键。
chazikai24 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];
[/Quote]
UP
lantianxiadeyu 2010-08-19
  • 打赏
  • 举报
回复
把具体要求说一下!
wuyq11 2010-08-19
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧