query1.Close;
query1.SQL.clear;
query1.SQL.Add('insert into kf (ysze) values(:ysze)');
query1.parambyname('ysze').Asinteger:= 33;
//query1.Params[0].Asinteger:=33; 
query1.execsql;
*************
ysze明明是整型字段,怎么编译出错?
type mismatch in expressionhttp://expert.csdn.net/Expert/topic/1336/1336219.xml?temp=.4823572  

解决方案 »

  1.   

    ysze这个是什么类型的字段?那一句出错?
      

  2.   

    ysze明明是整型字段,代不进去,字付可以
    type mismatch in expression
      

  3.   

    在windows2000pro下,我用的是paradox数据库 ysze 是N型
      

  4.   

    query1.Close;
    query1.SQL.clear;
    {query1.SQL.Add('insert into kf(Kdm, Kname1, Kname2, Ysze, Getze, Notck, Goode,'
                  +'Tc, Lxr, Dh, Dh_z, Cz,Yb, Sj, Wz, Email, Kfh, Kfz, Zhzh, Lsh, Pmeno)'
                  +'values(:Kdm, :Kname1, :Kname2, :Ysze, :Getze, :Notck, :Goode,'
                  +':Tc, :Lxr, :Dh, :Dh_z, :Cz, :Yb, :Sj, :Wz, :Email, :Kfh, :Kfz,'
                  +':Zhzh, :Lsh, :Pmeno)'); }
    query1.SQL.Add('insert into kf1(a1)'
                  +'values(:a1)');query1.ParamByName('a1').Asinteger:=10;
    //query1.parambyname('ysze').Asinteger:=12;
    //query1.Params[1].Asstring:='12';
    //query1.Params[2].Asstring:='12';
    //query1.Params[3].asinteger:=12;
    {query1.Params[4].asinteger:=12;
    query1.Params[5].Asinteger:=12;
    query1.Params[6].Asinteger:='12';
    query1.Params[7].Asstring:='12';
    query1.Params[8].Asstring:='12';
    query1.Params[9].Asstring:='12';
    query1.Params[10].Asstring:='12';
    query1.Params[11].Asstring:='12';
    query1.Params[12].Asstring:='12';
    query1.Params[13].Asstring:='12';
    query1.Params[14].Asstring:='12';
    query1.Params[15].Asstring:='12';
    query1.Params[16].Asstring:='12';
    query1.Params[17].Asstring:='12';
    query1.Params[18].Asstring:='12';
    query1.Params[19].Asstring:='12';
    query1.Params[20].Asstring:='12';  }query1.execsql;
      

  5.   

    你象这样写吧
    var SqlStr:string
        Num:integer;
    ...
    query1.Close;
    query1.SQL.clear;
    Num:=33;
    SqlStr:='insert into kf (ysze) values( '+inttostr(Num)+') ';
    query1.SQL.Add(SqlStr);
    query1.execsql;it 这种写法若在你的机器上还有问题的话, then 
    begin
      format c:
      ReInstall all;
    end;