窗体1中定义全局变量
public
xx:string; { Public declarations }
end;
给变量赋值并传给窗体2
procedure TForm1.DBGrid1dblclick(Sender: TObject);
begin
xx:=DBGrid1.SelectedField.DisplayText;
form2.Label2.Caption:=xx;
form2.Label1.Caption:=xx+'的情况如下';
form2.Show;
end;
窗体2中uses Unit1;
获取传递的值并执行操作!
procedure TForm2.FormCreate(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select * from ry where name='+quotedstr(form1.xx));//这里为什么取不到?
ADOQuery1.Open;
end;
public
xx:string; { Public declarations }
end;
给变量赋值并传给窗体2
procedure TForm1.DBGrid1dblclick(Sender: TObject);
begin
xx:=DBGrid1.SelectedField.DisplayText;
form2.Label2.Caption:=xx;
form2.Label1.Caption:=xx+'的情况如下';
form2.Show;
end;
窗体2中uses Unit1;
获取传递的值并执行操作!
procedure TForm2.FormCreate(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select * from ry where name='+quotedstr(form1.xx));//这里为什么取不到?
ADOQuery1.Open;
end;
解决方案 »
- 请问TVirtualStringTree是哪个组件包里的?
- 高级DELPHI群在次招人,欢迎高手加入.
- 散分!讨论一下GNU
- 都在散分 我也凑个热闹 散分~~~
- query怎么和DBGrid关联?怎么和DataSource关联:?
- 怎么可以更快速的学会DELPHI,只学报表部分也行啊!?!帮帮忙。
- 请问groupbox的标签怎么居中?
- 谁帮我说说override的具体用法?详细点的书上介绍的太简单看了还是不清楚!
- 100分,有关ADOQuery控件的Fields属性问题。。。
- delphi有无VXD开发工具??
- 帮助:多个文件如何打包和解包?
- 如何在程序里启动另一个程序,就是比如有一个按纽,我一按他就会启动另一个程序?
本程序意图是双击dbgrid一行(读者信息表),打开另一个窗口显示该读者更详细的情况!
定到Form2.show中try try 呀
你把
ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select * from ry where name='+quotedstr(form1.xx));//这里为什么取不到?
ADOQuery1.Open;
放到Form2.Onshow 中试试
或者在form1中
xx:=DBGrid1.SelectedField.DisplayText;
with tform2.create(nil) do
begin
try
Label2.Caption:=xx;
Label1.Caption:=xx+'的情况如下';
ShowModal;
finally
Free;
end;
end;
应该在onshow中定义
在程序启动的时候启动oncreate事件
所以不能在oncreate事件添加代码,应在noshow事件里添加
ADOQuery1.Close;
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select * from ry where name='''+quotedstr(form1.xx)+'''');//这里为什么取不到?
ADOQuery1.Open;
注意ADOQuery1.SQL.Add('select * from ry where name='''+quotedstr(form1.xx)+'''');
后面应该加多几个“'”,要不然,数据传到SQL服务器后会变成 name=未知变量,而不是等于字符串。
form2.Label2.Caption:=xx;
form2.Label1.Caption:=xx+'的情况如下';
form2.Show;