sql.add() 中add中引用的是字符串string型,这是delphi报的错!不是数据库的错!

解决方案 »

  1.   

    好象ADOQUERY没有parames,我是怎么加也加不进记录,真痛苦啊,还有LONGINT型可以采用STRTOINT取值吗?
      

  2.   

    是你的引号写错了。
    sql.Add('insert into usertable values('+ID+','''+Name+''')')
      

  3.   

    to:Lulq21cn(望尘)  就是想在SQL语句中引用INTEGER型,不然我数据库中的类型如何添加进去。
      

  4.   

    to quake1007(dada) 我也试了这样,但好象还是不行啊。
      

  5.   

    同意quake1007(dada)
    不管你要加什么,首先Add的内容要是一个合法的字符串,此外如果你无法确定自己的语句是否合适,找两个值待进去,看看结果
      

  6.   

    to  9527(我靠,还是提交不上去!CSDN我服了你) 
    在使用的时候我也用了一些值直接使用,上面也写出来了,
    还有ID:=StrToInt(EditUserID.Text);这样的形式不应该错吧,值应该能取出来,大家在用quake1007(dada)的方法的时候都是正确的吗/?
      

  7.   

    sql.Add('insert into usertable values('+ID+','''+Name+''')')
    用这个的时候为什么提示不对,就是指示'+ID+'这个地方出错
      

  8.   

    我知道了。ID:=StrToInt(EditUserID.Text);
    Name:=EditName.Text;sql.Add('insert into usertable values('+IntToStr(ID)+','''+Name+''')')
    //注意上面这句,或者你把ID:=StrToInt(EditUserID.Text)不要转换
    ExecSql;
      

  9.   

    但我的ID字段是整型啊,或者想用LONGINT型
      

  10.   

    你仔细看看,ID外面只有一对'',Name外面有两队,传递到SQL要剥离掉一层,所以就会分别变成integer和string
      

  11.   

    9527(我靠,还是提交不上去!CSDN我服了你) ,用你的方法真的不行啊,我刚刚试过,不知道是不是我没说明白我的意思
      

  12.   

    sql.Add('insert into usertable values('+inttostr(id)+','''+Name+''')')
    ExecSql;
      

  13.   

    9527(我靠,还是提交不上去!CSDN我服了你) 首先谢谢你回答我的问题我刚才看到了ID外面有一对'',就是采用了quake1007(dada) 的方法,也根据你写的做了调整,
    sql.Add('insert into usertable values('+IntToStr(ID)+','''+Name+''')')
    //注意上面这句,或者你把ID:=StrToInt(EditUserID.Text)不要转换如果ID:=StrToInt(EditUserID.Text)不转换,不行,因为我的ID定义的是INTEGER,如果把ID改成INTEGER,那肯定写不到数据库中去啊。
    采用IntToStr(ID)不是把ID变成STRING了吗,和数据库中不一致了
      

  14.   

    9527(我靠,还是提交不上去!CSDN我服了你) 首先谢谢你回答我的问题我刚才看到了ID外面有一对'',就是采用了quake1007(dada) 的方法,也根据你写的做了调整,
    sql.Add('insert into usertable values('+IntToStr(ID)+','''+Name+''')')
    //注意上面这句,或者你把ID:=StrToInt(EditUserID.Text)不要转换如果ID:=StrToInt(EditUserID.Text)不转换,不行,因为我的ID定义的是INTEGER,如果把ID改成INTEGER,那肯定写不到数据库中去啊。
    采用IntToStr(ID)不是把ID变成STRING了吗,和数据库中不一致了不过看大家的回复都很相似,我想结果肯定是这样的,但不知道我这里为什么就不能用,先谢谢大家,我弄好了,马上结贴。
      

  15.   

    9527(我靠,还是提交不上去!CSDN我服了你) 首先谢谢你回答我的问题我刚才看到了ID外面有一对'',就是采用了quake1007(dada) 的方法,也根据你写的做了调整,
    sql.Add('insert into usertable values('+IntToStr(ID)+','''+Name+''')')
    //注意上面这句,或者你把ID:=StrToInt(EditUserID.Text)不要转换如果ID:=StrToInt(EditUserID.Text)不转换,不行,因为我的ID定义的是INTEGER,如果把ID改成INTEGER,那肯定写不到数据库中去啊。
    采用IntToStr(ID)不是把ID变成STRING了吗,和数据库中不一致了不过看大家的回复都很相似,我想结果肯定是这样的,但不知道我这里为什么就不能用,先谢谢大家,我弄好了,马上结贴。
      

  16.   

    sql.Add('insert into usertable values('+EditUserID.Text+','''+Name+''')')这样就可以,其实,不管是FLOAT或者是INT,都直接写,只有是字符串的才
    '''+strVar+'''' 这样写。
      

  17.   

    老大: 应该这样写,
    sql.Add( 'insert into usertable values(''''+IntToStr(ID)+'''''',''''+Name+'''')' );
      

  18.   

    更正:
     
    老大: 应该这样写,
    sql.Add( 'insert into usertable values('''+IntToStr(ID)+''','''+Name+''')' );
      

  19.   

    我说的不转换就是wumengs(无梦)的方式,虽然我们在写语句时看起来是string ,但是传递进去就是integer.按照我写的试试
      

  20.   

    我说的不转换就是wumengs(无梦)的方式,虽然我们在写语句时看起来是string ,但是传递进去就是integer.按照我写的试试
      

  21.   

    sql.Add( 'insert into usertable values('+EditUserID.Text+','''+Name+''')' );
    绝对可以的!