有一个Paradox类型表:histroyHitch ,该表有三个字段ClientNo(I 长整型)、DDate(D 日期类型)、Stime(T 时间类型)。
现要插入一条记录到该表。dateSparator:='-' ;  //...系统日期分割符号
TimeSparator:=':' ;  //....系统时间分割符号
(:pCC,pDD,:pTT三个参数已经在Query1的params...里已经定义!)Query1.close;
Query1.Sql.clear;
Query1.SQL.Add('Insert into HistroyHitch(ClientNo,ddate,Stime)');
Query1.SQL.Add('Values (:pCC,pDD,:pTT)');
Query1.ParamByName('pCC').AsInteger:= 1234;
Query1.ParamByName('pDD').AsDateTime:= Date;
Query1.ParamByName('pTT').AsDateTime:=time;
Query1.Prepare ;
Query1.ExecSQL ;老是提示“Type mismatch  in express” 错误,请问如何解决???
我知道是系统的却省“日期”与时间格式和我要插入的Date、time 格式不对所造成的,请问如何解决?????

解决方案 »

  1.   

    这个我做过。由于源码不在手头。只能凭记忆了。
    1。试着把表中DDate和Stime字段统一到一种类型,
    看Paradox中有没有DateTime类型
    2。注意检查检查一下Date函数和time函数的返回类型
      

  2.   

    Query1.close;
    Query1.Sql.clear;
    Query1.SQL.Add('Insert into HistroyHitch(ClientNo,ddate,Stime)');
    Query1.SQL.Add('Values (:pCC,:pDD,:pTT)');
    Query1.ParamByName('pCC').AsInteger:= 1234;
    Query1.ParamByName('pDD').AsDateTime:= StrToDate(DateToStr(Date));//因为date是带有时间的
    Query1.ParamByName('pTT').AsDateTime:=StrToTime(timeToStr(time));
    Query1.Prepare ;
    Query1.ExecSQL ;
      

  3.   

    chenjian兄,我试过了,还是不行啊,hxb兄,表的结构不能更改了,我也知道是日期、时间不匹配比如:23/05/2003   14:25:48
    我把系统dateSparator:='-' ;  //...系统日期分割符号
            TimeSparator:=':' ;  //....系统时间分割符号系统默认是dateSparator:=‘/’;的比如:23/05/2003   还请高手指点!!!!请指教!!!!
      

  4.   

    试试直接写行不行.
    mysql:='Insert into HistroyHitch(ClientNo,ddate,Stime) values(1234,'''+formatdatetime('mm/dd/yyyy',date)+''','''+formatdatetime('hh:nn:ss',time)+''')';
      

  5.   

    var
    d1:TdateTime;
    d1:=Time;Query1.close;
    Query1.Sql.clear;
    Query1.SQL.Add('Insert into HistroyHitch(ClientNo,ddate,Stime)');
    Query1.SQL.Add('Values (:pCC,pDD,:pTT)');
    Query1.ParamByName('pCC').AsInteger:= 1234;
    Query1.ParamByName('pDD').AsDateTime:= Date;
    Query1.ParamByName('pTT').AsDateTime:=d1;
    Query1.ExecSQL ;再试试