为什么我用tquery控件 插入数值性--paradox 数据库的字段是老提示 type mismatch in expression ..
sql.Add('insert into table(a,b) values (:a,:b)');
    Params.ParamByName('a').Value:=edit1.Text;
    Params.ParamByName('b').asinteger:=strtoint(edit2.Text);
// 
可用ttable空间却可以插入数值性的,这是为什么?

解决方案 »

  1.   

    不要用参数形式,直接把edit.text写进sql中看看 。
    sql.Add('insert into table(a,b) values ('''+edit1.text+''', ''+edit2.text+'' )' );
      

  2.   

    多谢!!
    sql.Add('insert into table(a,b) values ('''+edit1.text+''', '+edit2.text+' )' );
    不用参数可以。是参数的问题么?可直接插入数字却能实现。。
    sql.Add('insert into table(a,b) values (:a,:b)');
        Params.ParamByName('a').Value:=edit1.Text;
        Params.ParamByName('b')).Value:=100;
    真不知咋搞的!
      

  3.   

    用参数你的sql格式也许就不正确,你自己也不知道,因为你看不见
      

  4.   

    直到原因了。。不是参数的问题。。
    字段设置的不对 ,原来用的short型,改成long integer 就可以实现了,strtoint**
    转成的类型 还与数据库里面的 short 类型不匹配?