300大洋悬赏有难度的ADOCommand问题,原来运行正常的程序,突然提示SQL错误! ( 积分: 300 )

  • 主题发起人 主题发起人 geng7758
  • 开始时间 开始时间
G

geng7758

Unregistered / Unconfirmed
GUEST, unregistred user!
原来客户那里运行1年多了,一直使用正常,昨天突然出现问题,用ADOCommand执行以下脚本:<br>Update&nbsp;T_LASTL&nbsp;Set&nbsp;DeptCode&nbsp;=&nbsp;'03',&nbsp;SaleTerms&nbsp;=&nbsp;'0301',&nbsp;PWD&nbsp;=&nbsp;'0CFE3D553E54920AC33397E6558207DE',&nbsp;Role&nbsp;=&nbsp;0,&nbsp;LastTime&nbsp;=&nbsp;#2007-08-23&nbsp;22::11::54#&nbsp;Where&nbsp;WorkNO&nbsp;=&nbsp;'hjg'<br>操作本地的Access数据库时提示:日期的语法错误&nbsp;在查询表达式&nbsp;'#2007-08-23&nbsp;22::11::54#'&nbsp;中。<br>用ADOCommand执行以下脚本:<br>Update&nbsp;T_LASTL&nbsp;Set&nbsp;DeptCode&nbsp;=&nbsp;'03',&nbsp;SaleTerms&nbsp;=&nbsp;'0301',&nbsp;PWD&nbsp;=&nbsp;'0CFE3D553E54920AC33397E6558207DE',&nbsp;Role&nbsp;=&nbsp;0,&nbsp;LastTime&nbsp;=&nbsp;To_Date('2007-08-23&nbsp;22:11:54',&nbsp;'YYYY-MM-DD&nbsp;HH24:MI:SS')&nbsp;Where&nbsp;WorkNO&nbsp;=&nbsp;'hjg'<br>操作服务器上的Oracle时则提示:不正常地定义参数对象。提供了不一致或不完整的信息。<br>SQL语句从来没变过,怀疑是运行环境问题,但不知是被什么所影响,请各位老大给点提示,多谢!
 
不加'#'如<br>update&nbsp;table&nbsp;set&nbsp;field1=2008-08-01&nbsp;where&nbsp;id=6
 
改成这样试试<br>Update&nbsp;T_LASTL&nbsp;Set&nbsp;DeptCode&nbsp;=&nbsp;'03',&nbsp;SaleTerms&nbsp;=&nbsp;'0301',&nbsp;PWD&nbsp;=&nbsp;'0CFE3D553E54920AC33397E6558207DE',&nbsp;Role&nbsp;=&nbsp;0,&nbsp;LastTime&nbsp;=&nbsp;Convert(DateTime,'2007-08-23&nbsp;22:11:54')&nbsp;Where&nbsp;WorkNO&nbsp;=&nbsp;'hjg'
 
如果没用到参数,而且用到了时间值,那么就要将<br>ADOCommand.ParamCheck设置为false
 
to&nbsp;ysai:<br>有些启发,我的软件中是没有用到参数,ADOCommand.ParamCheck设置为false后,access的脚本#2007-08-23&nbsp;22::11::54#也要改成#2007-08-23&nbsp;22:11:54#了吧?<br>我试试看先。
 
时间部分用formatdatetime()函数,就可以了
 
是不是系统的日期格式被修改了,
 
ADOcommand正在学习,顶一下,看看高手解答
 
ADOCommand.ParamCheck设置为false后,access数据库操作没问题了,可Oracle的问题依旧,请各位老大继续!
 
不是吧!?<br>ADOCommand这个控件我用的N多次了;没发现你说的这种问题过!
 
你是不是搞错了,我刚试过了这样写没问题呀<br>update&nbsp;mytable&nbsp;set&nbsp;e='2008-08-01&nbsp;11:11'&nbsp;where&nbsp;id=1
 
oracle里这样写<br>update&nbsp;mytable&nbsp;set&nbsp;e=Convert(DateTime,'2008-08-01&nbsp;11:11')&nbsp;where&nbsp;id=1<br>都没问题
 
高手过来看看呀!
 
测了,oracle也可以的,发工资了[:D]
 
后退
顶部