查询的结果返回(100分)

  • 主题发起人 主题发起人 nfy
  • 开始时间 开始时间
N

nfy

Unregistered / Unconfirmed
GUEST, unregistred user!
Table1
DatabaseName c:/tishu/
TableName Zwye.db
DataSource1
DataSet Table1
Query1
DataSource DataSource1
DBGird1
DataSource DataSource1

var
i:integer;
Begin
For i:=1 to 9 do
begin
with Query1 do
begin
close;
sql.clear;
sql.add('select * from "H:/kczw/zw00'+IntToStr(i)+'/zwye2002.db"');
Prepare;
Open;
end;
end;
end;
为什么查询结果不返回到DBGird1中呢?怎么使查询结果返回到DBGird1中或Table1中
请指点!
 
你设置错了,你是要返回query1查询的结果,因此应将datasource1的dataset设为query1,
而query1不必再设datasource了,那是主从表查询时才用的。
 
table是没必要的;
DataSource1
DataSet query1
DBGird1
DataSource DataSource1
把query1的conectstring设置好
再做下面的
 
知道了,那怎么样使查询结果到表中。
 
这样:
table----datasource-----adoquery 连接好就可以了。
 
你想将Query1中的查询结果在DBGrid1 中显示,你可以将DBGrid1的DataSource的DataSet
设置为Query1,或者利用循环将Query1中的数据赋值到Table1中:
Query1.First();
if not Table1.Active then
Table1.Active := True;
while not Query1.Eof do
begin
Table1.Append();
Table1.FieldByName('Field1').Value := Query1.FieldByName('Field1').Vlaue;
.....<其它字段的赋值>
Table1.Post();
end;

同时你不能将Query1的DataSource设置为nil
 
多人接受答案了。
 
后退
顶部