C
cf83325
Unregistered / Unconfirmed
GUEST, unregistred user!
我有2张表,表名分别是;
<1>魔鬼词典(表一)
字段: ID 标题 内容
<2>成语词典(表二)
字段: ID 成语 用法.
我用的是adoquery组件: 我的程序如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
close;
sql.Clear;
Sql.Add('select *');
SQl.Add('From 成语词典,魔鬼词典');
SQL.Add('成语词典.id = 魔鬼词典.id');
SQL.Add('where 成语 and 标题=:s');
Parameters.ParamByName('s').Value:=trim(Edit1.Text);
open;
end;
If AdoQuery1.RecordCount=0 then
Exit;
//if Edit1.Text<>Null then
Memo1.Clear;
Memo1.Lines.Add(' '+AdoQuery1.FieldByName('成语').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('用法').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('解释').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('典故').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('标题').Text);
end;
我的问题是:当我在Edit1中输入某个关键字的时候,只查其中一个表中的记录在memo1里面显示,不是取两个表的笛卡积.
<1>魔鬼词典(表一)
字段: ID 标题 内容
<2>成语词典(表二)
字段: ID 成语 用法.
我用的是adoquery组件: 我的程序如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
close;
sql.Clear;
Sql.Add('select *');
SQl.Add('From 成语词典,魔鬼词典');
SQL.Add('成语词典.id = 魔鬼词典.id');
SQL.Add('where 成语 and 标题=:s');
Parameters.ParamByName('s').Value:=trim(Edit1.Text);
open;
end;
If AdoQuery1.RecordCount=0 then
Exit;
//if Edit1.Text<>Null then
Memo1.Clear;
Memo1.Lines.Add(' '+AdoQuery1.FieldByName('成语').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('用法').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('解释').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('典故').Text);
Memo1.Lines.Add(AdoQuery1.FieldByName('标题').Text);
end;
我的问题是:当我在Edit1中输入某个关键字的时候,只查其中一个表中的记录在memo1里面显示,不是取两个表的笛卡积.