SQL.Text := 'select * from table where stano="' + Trim(Edit1.Text) + '"';想问下这个语句中的"和'"' 号什么意思,为什么要加"号?可否这样写
sql.text:='select * from table where stano='+Trim(Edit1.text);

解决方案 »

  1.   

    这样写是不行的,这种方法容易出错,不妨试试我这种方法:
    txtsql:string;txtsql:=''select * from table where stano=:Param);
    sql.text:=txtsql;
    parambyname('Param').asstring:=trim(edit1.text);
      

  2.   

    不行的,SQL语句中变量是这样写的
      

  3.   

    SQL.Text := 'select * from table where stano=' +chr(39)+ Trim(Edit1.Text) +chr(39)
    chr(39):代表一个单引号;
      

  4.   

    不行
    用QuotedStr
    sql.text:='select * from table where stano='+QuotedStr(Trim(Edit1.text));
      

  5.   

    我想不行的.具体点我不好表达
    我不知道你的条件语句后面需要跟什么类型,但SQL本身也有类型之间的转换.
    '''...... ''''用到了转换符,不好意思我也很菜的而且很久没动DELPHI了说的不好
    你可以这样试一下用个EDIT,一个COMMAND控件
    把这条件写在COMMAND事件中,把显示的字符放在EDIT中就可以看到显示出来是什么字符串了.
    这与SQL中的还是相符的
      

  6.   

    也可以这样
    SQL.Text := 'select * from table where stano=' +#39+ Trim(Edit1.Text) +#39这里的#39 就是' 的键值
      

  7.   

    var SQLtext:String;SQLText := 'select * from table where stano='''+ Trim(Edit1.Text) +''' ';可以跟踪一下。结果为 select * from table where stano='aaaass' 的格式就正确了。
      

  8.   

    还有
    var SQLtext:String;SQLText := 'select * from table where stano=''%'+ Trim(Edit1.Text) +'%'' ';
      

  9.   

    sql.text:='select * from table where stano='+Trim(Edit1.text);
    oracle 也可以
      

  10.   

    那样写当然不行出现在了语法错误,还有句子里的trim()函数是去空格函数既然使用它,则可以添加模糊查询,只要在trim()两边加上两个#号就可以了,这样就可以实现模糊查询。
      

  11.   

    可以这样写!
    加一个query
    query1.close;
    query1.sql.clear;
    query1.sql.add('select * from table where stano='+Trim(Edit1.text));
      

  12.   

    你的SQL语句中要引用字段STANO字段,而该字段是字符型的,假设你给定edit1.text的值是
    'abc',并且你不用'''',那么组合成一个完整的语句后变为
    select * from table where stano=abc你想想,这条语句能符合SQL的语法规定吗,SQL语法规定应为select * from table where stano='abc',EDIT1.TEXT得出的结果并不包含' ',所以你要自行加上去。还有,你给出的例子中写错了,里面不是用双引号,而应该是两个单引号
      

  13.   

    TO:Stiven_PFan
      你说的有道理,但我看的那语句就是双引号,如果去掉两个双引号或改成单引号就得不到真确的结果,不解.
      

  14.   

    'select * from table where stano='+Trim(Edit1.text);是可以的
    但是你的第一钟写法是错误的,都是单引号