更新问题再问

chaye12 2008-07-08 10:56:13
我做的是datagirdview允许客户在线编译,并点击更新按钮后,可以更新数据库中的数据表,但是每次我点击更新都更新不了,我怀疑是自己的连接字符串的问题,
string source = "pcdb.mdb";
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source;
这样写的连接字符串默认是在跟目录下面吗?
DEBUG下的数据库文件跟跟目录下面的哪个是起作用的?更新代码如下

OleDbConnection olecon = new OleDbConnection(conn);
OleDbDataAdapter da = new OleDbDataAdapter("select * from jsgx", olecon);
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];

//保存
da.Update(ds);
请各位看看哪里错了,我每次点更新按钮后,跟没更新一样
可能是我的SQL语句不对,大家帮我改改吧,谢谢!或者大家给我写一个能更新的!
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonsliver 2008-07-08
  • 打赏
  • 举报
回复
1、如果你的代码确实没有问题,又使用Debug调试的话,去看看bin\debug目录下应该有个数据库文件,看看有没有更新那个文件,如果有,则表示代码没有问题。

2、一直没有搞明白,这段代码:
OleDbConnection olecon = new OleDbConnection(conn);
OleDbDataAdapter da = new OleDbDataAdapter("select * from jsgx", olecon);
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
是写在更新按钮的点击事件里面的?通常不是在Load事件里面的么?你确定设置断点调试的时候能够看到更新后的数据?
松花皮蛋 2008-07-08
  • 打赏
  • 举报
回复
da.AcceptChanges();才能真正的更新数据库
chaye12 2008-07-08
  • 打赏
  • 举报
回复
那我该怎么样去修改呢
!找哪个数据库没问题,关键是如何更新!
jiatong1981 2008-07-08
  • 打赏
  • 举报
回复
这样是在当前exe的同级目录下 比如你debug调试时 它就去找debug目录下的数据库

110,822

社区成员

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

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

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