我在查询按钮里有这样一段代码:
T_person.Filter:='ID='''+i_name.Text+'''';
T_person.Filtered:=true;
T_person.Open;
if T_person.RecordCount=1 then
begin
Q_person.Close;
Q_person.ClearFields;
Q_person.sql.Add('select id,name,address,tel from'+
'person where name='''+i_name.text+'''');
Q_person.Open;
i_id.Text:=Q_person['id'];
i_address.Text:=Q_person['address'];
i_tel.Text:=Q_person['tel'];
Q_person.Close;
Q_person.ClearFields;
end;
编译的时候,系统总是提示 sql 语句有问题,我在sql server 里测试该语句
都没有问题呀!不知问题处在那里?还请各位仁兄帮忙?

解决方案 »

  1.   

    begin
    with Q_person do
    begin
      Close ;
      sql.Add('select id,name,address,tel from'+
    'person where name='''+i_name.text+'''');
      Open;
      i_id.Text := FieldByName('id').AsString; //
      ... 
      Close;
    end;
    end;
      

  2.   

    sql.Add('select id,name,address,tel from'+
    'person where name='''+i_name.text+'''');
      
    --------------------------------------------Sql.Text := 'select id,name,address,tel from person where name = '''
     + I_Name.Text + '''' ;
      

  3.   

    你是在SQL Server里测试的  请问你的数据库是不是 SQL的?
      

  4.   

    是呀 数据库是 Sql Server 2000  不对是吗 ?