首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

选中dbgild中的一条信息显示在另一个页面的dbgild中求方法和代码,该怎么解决

2012-02-22 
选中dbgild中的一条信息显示在另一个页面的dbgild中求方法和代码选中dbgild中的一条信息显示在另一个页面

选中dbgild中的一条信息显示在另一个页面的dbgild中求方法和代码
选中dbgild中的一条信息显示在另一个页面的dbgild中求方法和代码

[解决办法]
dbgrid1的数据源ado1的SQL语句:select * from ls where 标志=1
dbgrid2的数据源ado2的SQL语:select * from ls where 标志=0
dbgrid1的事件动作为:
ado1.edit;
ado1.fieldbyname('标志').asstring:='0';
ado1.post;
ado2.requery;
[解决办法]
Form1:选择用dbgild1->DataSource1->Adoquery1->ADOConnection1
Form2:显示用dbgild2->DataSource2->Adoquery2->ADOConnection1
ADOConnection1自己连接好,Adoquery2的LockType属性改为ltBatchOptimistic
其它不用修改

比如你的表t,数据如下:
A B
-----
a aaa
b bbb
c ccc
d ddd

在Form1 uses Form2单元;

在Form1的onCreate事件写代码:
with Adoquery1 do
begin
close;
sql.text:='select * from t';
open;
end;

在Form2的onCreate事件写代码:
with Adoquery2 do
begin
close;
sql.text:='select * from t where 1<>1';
open;
end;

DBGrid1的onDblClick事件写代码:
if not adoquery1.isempty then
begin
with Form2.adoquery2 do
if not locate('A',adoquery1.fieldbyname('A').asstring,[]) then
begin
append;
fieldbyname('A').asstring:=adoquery1.fieldbyname('A').asstring;
fieldbyname('B').asstring:=adoquery1.fieldbyname('B').asstring;
post;
end;
end;

热点排行