如何在dbgrid内选中一条纪录,之后双击在另一个form内的dbgrid里分别显示出来 如何在dbgrid内选中一条纪录,之后双击在另一个form内的dbgrid里分别显示出来 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 双击时记往该记录的ID 打开另一个form时dbgrid的数据库连接加条件id 1,记住form1的dataset 的KEY 然后在form2上再次查询出来;2,页面互相传递 你这大侠,直接加分就行了,开这么多贴子,别人回复你也没看到!dbgrid1的数据源ado1的SQL语句:select * from ls where 标志=1dbgrid2的数据源ado2的SQL语:select * from ls where 标志=0dbgrid1的事件动作为:ado1.edit;ado1.fieldbyname('标志').asstring:='0';ado1.post;ado2.requery; 我的笨方法。1、form1要引用form2的单元。form2也要引用form1的单元。(会吗?应该会。只有引用了,才能在form1的窗口中控制form2的显示与隐藏。你肯定会。)。2、form1中的控件, ADOConnection1: TADOConnection;//连接数据库的 ADOQuery1: TADOQuery; //操作数据,筛选数据的工具。 DataSource1: TDataSource; //数据源,给数据显示控件提供数据的桥梁。 DBGrid1: TDBGrid; //数据表,显示数据。 DBEdit1: TDBEdit; //数据文本框,显示单个字段的数据。 先用ADOConnection1连接好数据库。(应该会的)。 再把ADOQuery1的connection属性值设置为:ADOConnection1(把ADOQuery1和ADOConnection1连接起来. 再在ADOQuery1的sql中写上语句如:select * from 你的表名 再把DataSource1的dataset属性值设置为:ADOQuery1 (把DataSource1和ADOQuery1连接)再把 DBGrid1和DBEdit1的datasource属性都设置为:DataSource1再把DBGrid1的datafield设置为你这个要访问的数据表中的key字段(数据唯一的字段。)好了。准备好后在form1的创建事件中写以下事件。procedure TForm1.FormCreate(Sender: TObject);begin ADOQuery1.Active :=true;//启动form1的ADOQuery1end;在DBGrid1的双击事件写以下事件。procedure TForm1.DBGrid1DblClick(Sender: TObject);begin form2.ADOQuery1.SQL.Clear; Form2.ADOQuery1.SQL.Add('select * from 数据表名 where key字段名称='+ DBEdit1.Text +''); Form2.ADOQuery1.Open; Form2.Show;end; 2、form2中的控件: DataSource1: TDataSource; DBGrid1: TDBGrid; ADOQuery1: TADOQuery; 先把ADOQuery1的connection属性值设置为:form1.ADOConnection1(把ADOQuery1和form1中的ADOConnection1连接起来. 再把DataSource1的dataset属性值设置为:ADOQuery1 (把DataSource1和form2的ADOQuery1连接) 再把 DBGrid1的datasource属性都设置为:DataSource1(form2的DataSource1)3、运行程序。 总结:我的笨方法就是用一个dbedit控件记住某个字段的值。然后再用另外一个query筛选数据时加上条件用的。如:'select * from 数据表名 where key字段名称='+ DBEdit1.Text +''。而且你点击不同的行,dbedit1就会显示不同行的这个字段的值。4、可能我说的太罗嗦了。非专业!请见谅。qq:287693830 如何让shelltreeview目录指向当前所在位置? 请教报表打印问题 哪里有通过网络点对点(P2P)发送文件的源码下载,急急急急急急 这个功能如何实现? 我是初学者,我有一个关于DCOM的很菜的问题。(在线等待) 关于treeview的问题,请进来拿分 关于TCHART控件的数据显示问题。 新手探路:如何安装一个package??? 如何隐藏DBGrid中的几个列(不是删除)? 怎样在memo中提供无限次数的undo,redo功能? IXMLHTTPRequest如果在delphi中使用,要引用哪个单元? 如何让控件显示?
2,页面互相传递
dbgrid2的数据源ado2的SQL语:select * from ls where 标志=0
dbgrid1的事件动作为:
ado1.edit;
ado1.fieldbyname('标志').asstring:='0';
ado1.post;
ado2.requery;
1、form1要引用form2的单元。form2也要引用form1的单元。(会吗?应该会。只有引用了,才能在form1的窗口中控制form2的显示与隐藏。你肯定会。)。
2、form1中的控件,
ADOConnection1: TADOConnection;//连接数据库的
ADOQuery1: TADOQuery; //操作数据,筛选数据的工具。
DataSource1: TDataSource; //数据源,给数据显示控件提供数据的桥梁。
DBGrid1: TDBGrid; //数据表,显示数据。
DBEdit1: TDBEdit; //数据文本框,显示单个字段的数据。
先用ADOConnection1连接好数据库。(应该会的)。
再把ADOQuery1的connection属性值设置为:ADOConnection1(把ADOQuery1和ADOConnection1连接起来.
再在ADOQuery1的sql中写上语句如:select * from 你的表名
再把DataSource1的dataset属性值设置为:ADOQuery1 (把DataSource1和ADOQuery1连接)
再把 DBGrid1和DBEdit1的datasource属性都设置为:DataSource1
再把DBGrid1的datafield设置为你这个要访问的数据表中的key字段(数据唯一的字段。)
好了。准备好后
在form1的创建事件中写以下事件。
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.Active :=true;//启动form1的ADOQuery1
end;
在DBGrid1的双击事件写以下事件。procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
form2.ADOQuery1.SQL.Clear;
Form2.ADOQuery1.SQL.Add('select * from 数据表名 where key字段名称='+ DBEdit1.Text +'');
Form2.ADOQuery1.Open;
Form2.Show;
end;
2、form2中的控件:
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
先把ADOQuery1的connection属性值设置为:form1.ADOConnection1(把ADOQuery1和form1中的ADOConnection1连接起来.
再把DataSource1的dataset属性值设置为:ADOQuery1 (把DataSource1和form2的ADOQuery1连接)
再把 DBGrid1的datasource属性都设置为:DataSource1(form2的DataSource1)3、运行程序。
总结:我的笨方法就是用一个dbedit控件记住某个字段的值。然后再用另外一个query筛选数据时加上条件用的。如:'select * from 数据表名 where key字段名称='+ DBEdit1.Text +''。而且你点击不同的行,dbedit1就会显示不同行的这个字段的值。
4、可能我说的太罗嗦了。非专业!请见谅。qq:287693830