大家好,我在ADOQuery的SQL属性中写上:
'INSERT INTO Operator(oper_date) values' + '(2008-8-8)';} 插入的结果竟然变成1905-6-14,
而改成'INSERT INTO Operator(oper_date) values' + '( ''' + '2008-8-8' + ''')'; 插入的结果与预期一致。但是当我看到'DELETE FROM dtsztable WHERE oper_date < #' + FormatDateTime('yyyy-mm-dd', Now) + '#'也能成功插入正确的数据时,感到疑惑。究竟采用哪一种方法更好能?谢谢!在线恭候。
'INSERT INTO Operator(oper_date) values' + '(2008-8-8)';} 插入的结果竟然变成1905-6-14,
而改成'INSERT INTO Operator(oper_date) values' + '( ''' + '2008-8-8' + ''')'; 插入的结果与预期一致。但是当我看到'DELETE FROM dtsztable WHERE oper_date < #' + FormatDateTime('yyyy-mm-dd', Now) + '#'也能成功插入正确的数据时,感到疑惑。究竟采用哪一种方法更好能?谢谢!在线恭候。
但最好用:用参数传递的方式来处理,避免引号等问题
'#2008-08-26#'sql server:
'2008-08-26'
'INSERT INTO Operator(oper_date) values' + '( ''' + '2008-8-8' + ''')';
谢谢!
这个到了sql中的计算就是 2008-8-8=1992变成了float插入日期型了
'INSERT INTO Operator(oper_date) values' + '( ''' + '2008-8-8' + ''')';
这个好像在sql中还真就没考究过,只是就这么用着了,不过实际存储的却是浮点罢了。