我的数据库是paradox,刚装windows2000pro.
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 expression

解决方案 »

  1.   

    试试这样
    var
      tempint:stringtempint:=33;
    query1.Close;
    query1.SQL.clear;
    query1.SQL.Add('insert into kf (ysze) values'+tempint+')');
    query1.execsql;
      

  2.   

    按照楼上的做应该没有什么问题,yxze是N型,能设为string,这需要你在执行插入之前检查一下插入的值是否是一个数字型的值。我现在在做一个系统时也是这么干的,为了能够插入一个空的数字型值,需要将TempInt申明成一个字符型的变量,代码如下:
    var
      TempInt:String;
    begin
    query1.Close;
    query1.SQL.clear;
    query1.SQL.Add('insert into kf (ysze) values('''+TempInt+''')');
    query1.execsql;
    end;
      

  3.   

    试试这样
    var
      tempint:stringtempint:=33;                      //在这里出错应为tempint:='33';
    query1.Close;
    query1.SQL.clear;
    query1.SQL.Add('insert into kf (ysze) values'+tempint+')');
    query1.execsql;我的问题应是在执行出错,错误码为
    type mismatch in expression
      

  4.   

    把你的SQL拿到SQL EXPLORER上执行看看
      

  5.   

    xh_hero(天有多大) 你的SQL语句有问题。query1.SQL.Add('insert into kf (ysze) values'+tempint+')');少了半个括号吧!另外楼主你是的数据库是什么? MS SQL 还是,别的什么?另外你的 Delphi 的版本是多少?你的那个SQL语句,我认为没有什么问题。
      

  6.   

    delphi6.7下都出错,数据库是paradox
      

  7.   

    我的数据库是paradox,刚装windows2000pro.
    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 expression
      

  8.   

    我的数据库是paradox,刚装windows2000pro.
    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 expression
      

  9.   

    ysze明明是整型字段,怎么编译出错?
    type mismatch in expressionysze明明是整型字段,怎么执行出错?
    type mismatch in expression//是執行還是編譯出錯
    很奇怪的問題
      

  10.   

    我的问题应是在执行出错,错误码为
    type mismatch in expression
      

  11.   

    简单的插入程序,以前用paradox ,现在用mssql7.0 ,谢谢你!
      

  12.   

    数据库并不复杂,因为哪个插入语句在 win98下很正常,在window2000pro下出错了,所以很奇怪,to hamzsy(十二真空间) 以前向你要interbase 资料,现在我用mssql7.0了,你认为怎么样?