我做了一个应用程序,当做到查询的时候(用户Query1)查找Edit1.text中的数据时,出现了与SQL Server语法冲突的地方。
  就是用Query1查找等于Edit1.text中的记录,用DBGrid1显示出来!
  用:Select * From 查询表 where 姓名= 'aaa'时,可以实现,但是aaa要用Edit1.text来代替用 '' 时edit1.text便成为字符,不知如何解决。
  请帮帮我!

解决方案 »

  1.   

    Select * From 查询表 where 姓名= '''+trim(edit1.text)+'''';
      

  2.   

    Query1.SQL.Add('Select * From 查询表 where 姓名= ''' + Edit1.Text + '''');
      

  3.   

    SQLSTR := 'Select * From 查询表 where 姓名= ''%S''  ';
    SQLSTR := Format(SQLSTR,[Edit1.Text]) ;
    Query1.SQL.ADD(SQLSTR)
      

  4.   

    Select * From 查询表 where 姓名= '+#39+trim(edit1.text)+#39;
      

  5.   

    Query1.SQL.Add('Select * From 查询表 where 姓名=:xm');
    Query1.parameters.parambyname('xm').asstring:=edit1.text;
      

  6.   

    Query1.SQL.Add('Select * From 查询表 where 姓名= ''' + Edit1.Text + '''');
    我试了但是一条都查不出来吗?
      

  7.   

    'Select * From table where 姓名= ''' + Edit1.Text + ''''
    注意引号的个数!
      

  8.   

    'select * from table where 姓名='+''''+Edit1.Text+''''
    好象来晚了一点,不知道能不能赚到分呢
      

  9.   

    Query1.SQL.Text:='Select * From 查询表 where 姓名= "'+Edit1.Text+'"';
      

  10.   

    这样写用不着先写:Query1.SQL.Close;
    Query1.SQL.Clear;这两句了。
      

  11.   

    Select * From 查询表 where 姓名='+''''+trim(edit1.text)+'''';
      

  12.   

    落了一个引号
    'Select * From 查询表 where 姓名='+''''+trim(edit1.text)+'''';
      

  13.   

    Select * From 查询表 where 姓名= '+#39+trim(edit1.text)+#39;