form1上有二个edit,一个button1
两个eidt为选择的条件,根据条件,点击button1,弹出一个窗体form2,form2中根据这个动态的SQL语句中select出来的数据集赋给一个stringgrid.
procedure TForm1.Button1Click(Sender: TObject);
begin
form2:=Tform2.create(application);
form2.edit1.text:=form1.edit1.text;
form2.edit2.text:=form1.edit2.text;
from2.showmodal;
from2.colse;
end;
form2上的两个edit是隐藏的,目的是为了接受form1上的条件。
问题是:如果select * from table where a=edit1.text and b=edit2.text
的数据集是空的时侯,我不想弹出form2,只想showmessage('没有数据')
怎么样处理法?
两个eidt为选择的条件,根据条件,点击button1,弹出一个窗体form2,form2中根据这个动态的SQL语句中select出来的数据集赋给一个stringgrid.
procedure TForm1.Button1Click(Sender: TObject);
begin
form2:=Tform2.create(application);
form2.edit1.text:=form1.edit1.text;
form2.edit2.text:=form1.edit2.text;
from2.showmodal;
from2.colse;
end;
form2上的两个edit是隐藏的,目的是为了接受form1上的条件。
问题是:如果select * from table where a=edit1.text and b=edit2.text
的数据集是空的时侯,我不想弹出form2,只想showmessage('没有数据')
怎么样处理法?
有就生成form2.那form2还要select一遍,有没有办法把form1的select集合在from2中直接使用?
begin
//首先把条件传给adoquery1
if adoquery1.recordcount>0 then
begin
form2:=Tform2.create(application);
form2.edit1.text:=form1.edit1.text;
form2.edit2.text:=form1.edit2.text;
//把adoquery1的数据赋给stringgrid
from2.showmodal;
end
else
begin
showmessage('没有数据!')
end;
end;
form2:=Tform2.create(self);
form2.initform(....);
form2.show;
就是在 ButtonClick 中判断是否为空,若为非空,才创建 Form2。
Form2 可以直接用 Form1 上的所有组件,只要用 uses UnitForm1