adoquery9.SQL.Add('select * from orderlist where substring('+edit35.text+',0,1)=3');
報錯是;int型對substring函數來說是不合法的類型,合法類型只包括char/vchar,nchar/.........
我改成
adoquery9.SQL.Add('select * from orderlist where substring('+inttostr(edit35.text)+',0,1)=3');
還是有問題

解决方案 »

  1.   

    adoquery9.SQL.Add('select * from orderlist where substring('+edit35.text+',0,1)=''3''');3修改為 ''3''試試
      

  2.   

    說明一下,我的edit35.text對應的字段是int型的
      

  3.   

    adoquery9.SQL.Add('select * from orderlist where substring('''+edit35.text+''',0,1)=''3''');
      

  4.   

    adoquery9.SQL.Add('select * from orderlist where substring('''+edit35.text+''',0,1)=''3''');
    這句我試過了,但是還是有問題
    明明以3開頭的號碼的紀錄不試0個,但上面一句查出來的是0個
      

  5.   

    s:string;
    s:='select * from orderlist where substring(''%s'',0,1)='3')';
    s:=format(s,[edit5.text]);
    adoquery9.SQL.Add(s);
      

  6.   

    错了 edit35.text 那个'3'也可能是''3''
      

  7.   

    adoquery9.SQL.Add('select * from orderlist where substring('''+edit35.text+''',1,1)=''3''');
      

  8.   

    楼主,edit35.text的内容是字段名吗?
    substring的第二个参数起始位置,从0开始是什么意思?
      

  9.   

    adoquery9.SQL.Add('select * from orderlist where substring('''+edit35.text+''',0,1)=''3''');