我所有的引用,设置都完成了,代码如下: procedure Tchaxun.BitBtn1Click(Sender: TObject); begin form3.ADOConnection1.Connected:=true; if (edit1.Text<>'') or (edit2.Text<>'') then with form3.adoquery1 do begin close; sql.clear; if (edit1.text<>'') and (edit2.text='')then begin sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%'''); execsql; sql.clear; form3.DataSource1.DataSet.Active:=true; form3.visible:=true; end; end; end; 运行的时候出现'missing sql property',到底哪出错了呢?
form3.ADOConnection1.Connected:=true; with form3.adoquery1 do begin close; sql.clear; sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%'''); execsql; end; form3.DataSource1.DataSet.Active:=true;//试一下,如果还不行,把你设置的贴出来看一下
ADOquery有没有连ADOconnection啊?
我把你的改了一下 你的主要问题是把with adoquery do 放在了 if的下面 这样的话 第二个 if语句就不是针对adoquery 的语句了 uses unit3; procedure Tchaxun.BitBtn1Click(Sender: TObject); begin form3.ADOConnection1.Connected:=true; form3.adoquery1.connection:=ADOconnection; with form3.adoquery1 do begin if (edit1.Text<>'') or (edit2.Text<>'') then begin ........ end; if (edit1.text<>'') and (edit2.text='')then begin close; sql.clear; sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%'''); execsql; open; end; end;
你的ADOQUERY所在窗口要是打开的(已创建)
form2中放了dbgrid1,
然后在form2中uses unit1,然后在dbgrid1.dataset设置为form1.datasource1,然后就会把adoqeury1查询出来的结果显示在form2的dbgrid1中了
procedure Tchaxun.BitBtn1Click(Sender: TObject);
begin
form3.ADOConnection1.Connected:=true;
if (edit1.Text<>'') or (edit2.Text<>'') then
with form3.adoquery1 do
begin
close;
sql.clear;
if (edit1.text<>'') and (edit2.text='')then
begin
sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%''');
execsql;
sql.clear;
form3.DataSource1.DataSet.Active:=true;
form3.visible:=true;
end;
end;
end;
运行的时候出现'missing sql property',到底哪出错了呢?
with form3.adoquery1 do
begin
close;
sql.clear;
sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%''');
execsql;
end;
form3.DataSource1.DataSet.Active:=true;//试一下,如果还不行,把你设置的贴出来看一下
你的主要问题是把with adoquery do 放在了 if的下面
这样的话 第二个 if语句就不是针对adoquery 的语句了
uses unit3;
procedure Tchaxun.BitBtn1Click(Sender: TObject);
begin
form3.ADOConnection1.Connected:=true;
form3.adoquery1.connection:=ADOconnection;
with form3.adoquery1 do
begin
if (edit1.Text<>'') or (edit2.Text<>'') then
begin
........
end;
if (edit1.text<>'') and (edit2.text='')then
begin
close;
sql.clear;
sql.add('select * from 信息表 where 姓名 like ''%'+trim(edit1.Text)+'%''');
execsql;
open;
end;
end;