急急急急求助!!!!!!ACCESS数据库执行update语句后数据没有更新

jack_muluan 2012-06-10 12:24:38
ACCESS数据库执行update语句后数据没有更新

我是用VS2005做的winform开发

sqlcomm = "update order_wcd set n0002=" + gz + ",n0003=" + mj + ",n0004=" + df + ",n0005=" + zj + ",n0006=" + zz + " where order_id='" + dt.Rows[j][0].ToString() + "' and c0007='" + dt.Rows[j][4].ToString() + "' and c0008='" + dt.Rows[j][7].ToString() + "' and st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'";

issqlexe = db_op.ExecSqlCom(sqlcomm);

说明一下:
gz,mj,df,zj,zz 是已经算好的double型

where条件后面的是从datatable里关联的

db_op.ExecSqlCom() 是我自己写的一个方法,用于返回sql语句是否执行成功,true表示执行成功,false表示执行失败

但是这里返回的是true,但是在access里面,数据没变化,这是什么原因,有朋友知道吗?


急急急急求助!!!!!!
...全文
436 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iamagril 2012-06-11
  • 打赏
  • 举报
回复
LZ 可以打个断点看一下,把你的Sql语句拿到数据库试试, 看改变了没,叵改变了就是你的代码哪块错了,叵没改变则是你的SQL 问题
  • 打赏
  • 举报
回复
sql语句最后去掉%
and st_date='" + DateTime.Now.ToString("yyyy-MM") + "'";
yuandonghuia 2012-06-11
  • 打赏
  • 举报
回复
Access 的时间要用 # 而不是单引号,谢谢.请给分吧 像这样--> #2011-1-1# 我以前也在这个地方骂过街
lfqsy 2012-06-11
  • 打赏
  • 举报
回复
你看看ACCESS里面时间类型是不是这么写的
__天涯寻梦 2012-06-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:

... and st_date like '*" + DateTime.Now.ToString("yyyy-MM") + "*'";



还是不行,哎。。这么晚了,麻烦你了。
[/Quote]
数据库中 st_date 列的值格式是怎样的,贴几个值出来看看
jack_muluan 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'"
这条件加 % 是要模糊匹配? 时间应该是不能这样的,最后时间匹配的表达式这样
... and format(st_date, 'yyyy-mm')='" + DateTime.Now.ToString("yyyy-MM") + "'";
[/Quote]

数据库里我用的是文本存放的时间,就是string型的,这么写应该没什么问题吧
__天涯寻梦 2012-06-10
  • 打赏
  • 举报
回复
st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'"
这条件加 % 是要模糊匹配? 时间应该是不能这样的,最后时间匹配的表达式这样
... and format(st_date, 'yyyy-mm')='" + DateTime.Now.ToString("yyyy-MM") + "'";
yangchun1213 2012-06-10
  • 打赏
  • 举报
回复
LZ真勤奋啊……
jack_muluan 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

... and st_date like '*" + DateTime.Now.ToString("yyyy-MM") + "*'";
[/Quote]


还是不行,哎。。这么晚了,麻烦你了。
__天涯寻梦 2012-06-10
  • 打赏
  • 举报
回复
... and st_date like '*" + DateTime.Now.ToString("yyyy-MM") + "*'";
__天涯寻梦 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:

引用 2 楼 的回复:
引用 1 楼 的回复:

st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'"
这条件加 % 是要模糊匹配? 时间应该是不能这样的,最后时间匹配的表达式这样
... and format(st_date, 'yyyy-mm')='" + DateTime.Now.ToString(……
[/Quote]
貌似 Access 中的模糊查询语句 like 里的通配符不是 % 而是 * ,你换下再运行试试
jack_muluan 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:
引用 1 楼 的回复:

st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'"
这条件加 % 是要模糊匹配? 时间应该是不能这样的,最后时间匹配的表达式这样
... and format(st_date, 'yyyy-mm')='" + DateTime.Now.ToString("yyyy-MM") + ……
[/Quote]

拷贝sqlcomm,执行之后还是没变化,这到底是什么错误啊啊啊啊啊啊啊,找了一晚上也找不出来。。。。。
__天涯寻梦 2012-06-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

st_date='%" + DateTime.Now.ToString("yyyy-MM") + "%'"
这条件加 % 是要模糊匹配? 时间应该是不能这样的,最后时间匹配的表达式这样
... and format(st_date, 'yyyy-mm')='" + DateTime.Now.ToString("yyyy-MM") + "'";


数据库里我……
[/Quote]
那没什么问题,你在 db_op.ExecSqlCom(sqlcomm) 设置断点,执行到这时把 sqlcomm 打印出来,放在 Access 里执行下看看有没变化

111,093

社区成员

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

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

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