access update语句
sql:='update dzhyb set jdbzw=1 and jdkssj='''+sheet2shijian+''' where chehao='''+trim(edit1.Text)+''' and ((zhanneisj is null) or (zhanneisj=''''))';
出错,如果原来日期时间那里有值,就弹错误,说标准表达式中数据类型不匹配。如果原来那里为空,往里修改值,就什么反应没有,内容也没有录进去。
当把这两个换个位置,改成'update dzhyb set jdkssj='''+sheet2shijian+''' and jdbzw=1 ,结果是,如果原来数据表里有值,时间就变成1899-12-29和0:00:00(显示为1899-12-30),如果没有值,就没有变化。标志位没有变。
把这两个任何一个去掉,更新正常。
------解决方案--------------------用SHOWMESSAGE显示一下sql中的内容
------解决方案--------------------sheet2shijian 的时间格式是什么?
------解决方案--------------------呵呵,在DELPHI中,日期不能用#,要用单引号