with  PatientQuery do
 try
 begin
 close;
 sql.Clear;
 sql.Add ('select * from MP');
 sql.Add('where MP.Pdiag=:aa');
 ParamByName('aa').AsString:=combobox1.text;//想要根据combobox中选择的项来查询,这里该怎么写?
 Prepare;
 Open;
 end;
 except
  showmessage('无此记录')
 end;

解决方案 »

  1.   

    sql.Add ('select * from MP');
     sql.Add(' where MP.Pdiag=:aa');
      

  2.   

    没问题!
    combobox1.text始终是你选择的项
      

  3.   

    sql.Add('select * from DatabaseName.dbo.MP');  
    sql.Add('where MP.Pdiag=:aa');  //Pdiag是什么类型
    ParamByName('aa').AsString:=combobox1.text;
    sql.Open;
      

  4.   

    with  PatientQuery do
    begin
     close;
     sql.Clear;
     sql.Add ('select * from MP');
     sql.Add('where MP.Pdiag=:aa');
     ParamByName('aa').AsString:= trim(combobox1.text);
     try 
       Open;
     except
      showmessage('无此记录')
     end;
    end;
      

  5.   

    pdiag是字符型CHAR
    现在语句是对的,就是无法查询出服务器上的数据