首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问一个ADO语法有关问题,为什么提示类型不匹配

2012-09-16 
请教一个ADO语法问题,为什么提示类型不匹配以下代码,在部分电脑里会提示“标准表达式中数据类型不匹配。”但

请教一个ADO语法问题,为什么提示类型不匹配
以下代码,在部分电脑里会提示“标准表达式中数据类型不匹配。”

但不明白原因,其中id、cid 是数字,posttime是日期,其他是备注。保证都有数据。

Parameters.ParamByName(xx).Value 是 Variant类型,怎么会不匹配?

Delphi(Pascal) code
with rs dobeginclose;                    Parameters.Clear;                    ParamCheck:=true;                    sql.Clear;                    sql.append('insert into list(id,cid,list,title,link,chkflag,actionflag,posttime,postflag,errflag) values(:id,:cid,:list,:title,:link,false,false,:posttime,false,false)');                    Parameters.ParamByName('id').Value:=id;                    Parameters.ParamByName('cid').Value:=cid;                    parameters.ParamByName('list').Value:=list;                    parameters.ParamByName('title').Value:=tmptitle;                    parameters.ParamByName('link').Value:=tmplink;                    parameters.ParamByName('posttime').Value:=now;                    Prepared:=true;                    try                      ExecSQL;                    except                      On E:Exception DO                        begin                          showmessage(E.Message);                          break;                        end;                    end;end;


[解决办法]
日期最好用DATETISTR(NOW)
[解决办法]
探讨

确实是日期问题,用了formatdatetime解决,但奇怪的是,同样的操作系统,有的没问题,有的出问题。

[解决办法]
而且,可以在 SQL 里用 GetDate,使用服务器时间。
没必要用本地时间。

热点排行