dot net 2.0中修改ACCESS 中的表数据为什么没有异常也没有更新数据?

icom99 2009-03-05 11:26:38
在一个WINDOWS程序中,通过ADO.NET 2.0更新一个Access表中的数据,为了方便,写了一个方法,但是调试后发现,cmd.ExecuteNonQuery() > 0是成立的,但打开Access表中的数据又没有被更新,请问可能是什么问题呢?
另:在调用本方法时,传入的SQL语句为:"UPDATE [ITEM] SET USER_NO='" + userNO + "', USER_NAME='" + userName + "', DUE_DATE='" + duDate.ToShortDateString() + "', DUE_TIME='" + duTime + "', ITEM_STATE='签入' WHERE ITEM_NO='" + itemNo + "'";

protected bool ExecuteNoQuery(string cmdText)
{
bool hasSucceed = false;

OleDbConnection conn = new OleDbConnection();
try
{
string connctionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
conn.ConnectionString = connctionString;
OleDbCommand cmd = new OleDbCommand(cmdText, conn);
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
hasSucceed = true;
}
}
catch (System.Exception e)
{
hasSucceed = false;
}
finally
{
conn.Close();
}

return hasSucceed;

}
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
icebear2 2009-03-08
  • 打赏
  • 举报
回复
楼主请注意一下,是在什么情况下写数据,调试时写的数据库文件和使用的数据库文件不是一个!
icom99 2009-03-06
  • 打赏
  • 举报
回复
to sageking2:
conn.Open();
OleDbCommand cmd = new OleDbCommand(cmdText, conn);
哪一条在前哪一条在后应该没有关系吧

to aipeli:
SQL语句在VS2005中测试过,没有问题的
孟子E章 2009-03-06
  • 打赏
  • 举报
回复
检查的文件是否是只读了,是不是有匿名账户(network service或者aspnet)可修改权限
aipeli 2009-03-06
  • 打赏
  • 举报
回复
注意检查最终执行的SQL语句是否有误.
sageking2 2009-03-06
  • 打赏
  • 举报
回复
应该先conn.Open(); 再OleDbCommand cmd = new OleDbCommand(cmdText, conn);
EveryCase 2009-03-06
  • 打赏
  • 举报
回复
顶~~~~~~~~~~~~~~~~
icom99 2009-03-06
  • 打赏
  • 举报
回复
to net_lover:
文件属性已检查过了,去掉了只读和存档属性,在ACCESS中打开文件时不需要密码,应该不是权限的问题吧,而且是Windows程序,不是web程序。

111,126

社区成员

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

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

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