在ADOQuery中查询返回结果的问题

Description of your first forum.

在ADOQuery中查询返回结果的问题

帖子心心 » 星期三, 2001年5月16日 19:35


我输入1个字符,如111,  111这个字符存在表 a中
表a有两个字段结构如下
 aa   bb
111    这是1
112    这是2
113    这是3
....

在ADOQuery中,如何实现查找得到返回的 '这是1'?如果没有找到111要给出出错提示??
 
 
 

在ADOQuery中查询返回结果的问题

帖子softdog » 星期三, 2001年5月16日 19:42


没看懂
 
 
 

在ADOQuery中查询返回结果的问题

帖子yukuang » 星期三, 2001年5月16日 20:02


select * from .... where aa='111'??
 
 
 

在ADOQuery中查询返回结果的问题

帖子心心 » 星期三, 2001年5月16日 21:46


查到没查到返回的结果怎么写?sql??
 
 
 

在ADOQuery中查询返回结果的问题

帖子kevincsg » 星期三, 2001年5月16日 21:55


if AdoQuery.recordcount=0 then
  showmessage('没有你要的记录')
 else
   执行你要做的事
 
 
 

在ADOQuery中查询返回结果的问题

帖子心心 » 星期三, 2001年5月16日 22:01


呵呵我试试哪位能否完整的写一次??举得例??
 
 
 

在ADOQuery中查询返回结果的问题

帖子PPMouse » 星期四, 2001年5月17日 00:50


procedure TForm1.Button1Click(Sender: TObject);
var
temp:string;
begin
AdoQuery1.sql.clear;
AdoQuery1.sql.add('select * from a where aa="111"');
AdoQuery1.active:=true;
if AdoQuery1.recordcount=0 then
   showmessage('没有你要的记录')
 else
   temp:=AdoQuery1.fieldvalues['bb'];
   showmessage(bb);
end;
end;
end.
 
 
 

在ADOQuery中查询返回结果的问题

帖子心心 » 星期四, 2001年5月17日 21:17


好了发分
 
 
 

在ADOQuery中查询返回结果的问题

帖子心心 » 星期四, 2001年5月17日 21:20


怎么没有发分的东西,班主给贪污了吗???
 
 
 

在ADOQuery中查询返回结果的问题

帖子Motar Liu » 星期五, 2001年5月18日 08:33


撰写查询尽量不要把程序写死,多用动态方式。以下是我程序片段:
procedure TClass1.ChangeSQL( const SearchValue: WideString);
var
   AValueStringList,ByStringList:TStringList;
   i,j,k:integer;
 begin
   AValueStringList:=TStringList.Create;
   ByStringList:=TStringList.Create;
   AValueStringList.Text:=SearchValue;
 
   dtRP1501.Close;
 
//Reset SQL
for i:=dtRP1501.SQL.Count-1 Downto 0 do
if (pos('ORDER BY',UpperCase(dtRP1501.SQL[i]))>0) or (pos('GROUP BY',UpperCase(dtRP1501.SQL[i]))>0) then
begin
ByStringList.add(dtRP1501.SQL[i]);
dtRP1501.SQL.Delete(i);
end;
 
   for j:=dtRP1501.SQL.Count-1 Downto 0 do
     if (Pos('          ',dtRP1501.SQL[j])<>0) and (Pos(' as ',dtRP1501.SQL[j])=0) then dtRP1501.SQL.Delete(j);
 
if (AValueStringList[0]<>'') and (AValueStringList[0]<>'*') then
//dtView4.SQL.Add('          AND QCMTDT10.RemeltDATE='+sqldate1(AValueStringList[0],2));
dtRP1501.SQL.Add('          AND QCMTDT10.RemeltDATE='+''''+AValueStringList[0]+'''');

if ByStringList.count > 0 then
     for k:= ByStringList.count-1 downto 0 do
dtRP1501.SQL.Add(ByStringList[k]);

   dtRP1501.Open;
 end;

在从Client端呼叫此函数。
 
 
 

在ADOQuery中查询返回结果的问题

帖子心心 » 星期五, 2001年5月18日 11:53


谢谢大家