adoquery1.sql.add('select id from table1 where name'+trim(edit1.text))
adoqurey1.open
但这样写系统就报错
应该如何写

解决方案 »

  1.   

    adoquery1.sql.add('select id from table1 where name'''+trim(edit1.text)+'''')
      

  2.   

    adoquery1.sql.add('select id from table1 where name = '''+trim(edit1.text))+ ''''
    没写 = 号
      

  3.   

    上面的不对:)
    adoquery1.sql.add('select id from table1 where name='''+trim(edit1.text)+'''')
      

  4.   

    adoQuery1.SQL.Clear;
    // edit1.Text有可能没有值,所以必须要带上 '''引号
    adoQuery1.SQL.Add('SELECT ID FROM TABLE1 WHERE NAME = '''+Trim(edit1.Text)+'''');
    adoQuery1.Open;
      

  5.   

    adoquery1.sql.add('select id from table1 where name = '''+trim(edit1.text)+ '''')
    没写 = 号
    在delphi中''才是单引号
    也可以
    adoquery1.sql.add('select id from table1 where name = '+ QuotedStr(trim(edit1.text)))
      

  6.   

    你的name是字符型,那就这样
    adoquery1.sql.add('select id from table1 where name='''+trim(edit1.text)+'''')
    这句就相当于SQL里的select id from table1 where name='XXX'
    在delphi中'要用''来表示,所以字符'就是'''',
    ''=''''
    你好='你好'
    上面两个是相似的也有可能你用的不是=而是模糊查询,那就用like了
    adoquery1.sql.add('select id from table1 where name like ''%'+trim(edit1.text)+'%''')
    相关的你就自己查帮助了
    ***********************************************
      

  7.   

    我是这样写的
    str:='select name,password from namecode where name= '''
                      +trim(edit1.Text)+''''
              +' and password='''
                      +trim(edit2.Text)+'''';
    with dmodule do
    begin
        Adoqur.SQL.Clear;
        Adoqur.SQL.Add(str);
        Adoqur.Open;
    end;
    但我看了下sql的事件勘测器
    exec sp_prepexec @P1 output, NULL, N'select name,password from namecode where name=''X64'' and password=''ylqylq''
    '
    这好象不对了吧!!!
      

  8.   

    str:='select name,password from namecode where name= '''
                      +trim(edit1.Text)+ ''' and password='''
                      +trim(edit2.Text)+'''';
      

  9.   

    adoquery1.sql.add('select id from table1 where name'+QuotedStr(trim(edit1.text)))
      

  10.   

    一样,没用,实际上我的那个写法跟你的一样
    --你上面写的和我的不同,
    我的str 的值是   
    'select name,password from namecode where name= 'Edit1' and password='Edit2''
    你的那句    +trim(edit1.Text) + '''' +' and password=''' 中间多了引号
    应该是  + trim(edit1.Text) + ''' and password= '''