faint,你的order by 和where 搞倒了
ADOQuery1.SQL.Add('SELECT * FROM 测试表 WHERE 姓名 like ''%'+Edit4.Text+'%'' ORDER BY 编号 ');

解决方案 »

  1.   

    faint,你的order by 和where 搞倒了
    ADOQuery1.SQL.Add('SELECT * FROM 测试表 WHERE 姓名 like %'+Edit4.Text+'% ORDER BY 编号 ');
      

  2.   

    对,这条语句我是把order by 和where 搞倒了,但改后还是不对啊。
    估计是LIKE那一块不对,谁给改改啊。
      

  3.   

    Delphi+数据库编程
    数据库最好不要用中文要不死得..........还有这里错了:
    该成:
    ADOQuery1.SQL.Add('SELECT * FROM 测试 WHERE 姓名 like %'''+Edit4.Text+'''% ORDER BY 编号')。
    '''+Edit4.Text+'''
      

  4.   

    ADOQuery1.SQL.Add('SELECT * FROM 测试 WHERE 姓名 like '+'%'+''''+Edit4.Text+''''+'% ORDER BY 编号'
      

  5.   

    ADOQuery1.SQL.Add('SELECT * FROM 测试 WHERE 姓名 like %'+''''+Edit4.Text+''''+'% ORDER BY 编号');
      

  6.   

    我的代码,可以用的:
    with diaryAdoQuery do begin
        close;
        sql.clear;
        sql.add('select * from ');
        sql.add(iTableName);
        sql.add(' where 名称=:名称');
        if dateOk then sql.add(' and 日期 between :startDate and :stopDate');
        if vipOk then sql.add(' and ok =:ok');
        if keyOk then sql.add(' and 内容 like ''%'+keyEdit.text+'%''');
        if dateOk then begin
          parameters.paramByName('startDate').value :=startDateTimePicker.DateTime ;
          parameters.paramByName('stopDate').value :=stopDateTimePicker.DateTime ;
        end;
        if vipOk then
          parameters.paramByName('ok').value :=true ;
        parameters.paramByName('名称').value :=iCaption;
        open;
        Last ;
      end;