用oledbcommand执行sql语句更新access数据库不成功!

jsongy 2008-11-18 07:29:07
oledbcommand的sql语句都是相同的,,都是 update table1 set field1=value where id='id'
,且都能够在access中执行成功,但是有时候更新能成功,有时候不成功,不知道为什么?有人遇到过这个问题吗?

saveOleDbCommand= new oledbcommand();
using(oledbconnection oleconn = new oledbconnection(strDataConn))
{
oledbtransaction trans = null;
saveOleDbCommand.connection=oleconn;
oleconn.open();
trans=oleconn.beginTransaction();
saveOleDbCommand.connection=oleConn;
saveOleDbCommand.Transaction = trans;
int intCount=saveOleDbCommand.executeNonQuery();
bool SaveOk=(intCount==1);

trans.Commit();
oleConn.Close();
}
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fiendloop 2008-11-19
  • 打赏
  • 举报
回复
如果按7楼的方法检查后没有问题,尝试以下更改

update table1 set field1=value where id='id'
改为
update [table1] set [field1]= N'value' where [id]= N'id'

qinhl99 2008-11-19
  • 打赏
  • 举报
回复
没有看出有啥子问题
lovehongyun 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jsongy 的回复:]
就是很普通的update语句,有时候执行能够成功更新数据库,有时候更新就失败,而且,更新失败的时候,executeNonQuery语句的返回值也大于0,所以觉得很奇怪
[/Quote]
大于0应该是更新成功了.但要检查你的事务有没有被提交
assky124 2008-11-19
  • 打赏
  • 举报
回复
有时候和字段有关吧,是不是更新的字段要求无重复啊,或者字段类型不匹配
lovehongyun 2008-11-19
  • 打赏
  • 举报
回复
你上面发的代码我没有看到sql语句呀-_-!
jsongy 2008-11-19
  • 打赏
  • 举报
回复
单机的操作啊,怎么会是网络问题
hornbills 2008-11-18
  • 打赏
  • 举报
回复
网络问题吧?!
jsongy 2008-11-18
  • 打赏
  • 举报
回复
就是很普通的update语句,有时候执行能够成功更新数据库,有时候更新就失败,而且,更新失败的时候,executeNonQuery语句的返回值也大于0,所以觉得很奇怪
panrongzeng 2008-11-18
  • 打赏
  • 举报
回复
access 对sql语句是有那么一点猫腻
有时候无法解释的原因,换一个方式实现功能
或者根据sql语句上网找找,是否在access上面是要另外一种方式

111,130

社区成员

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

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

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