您好,请教如何才能访问到多个Select 语句的结果,用如下结构,谢谢(100分)

  • 主题发起人 主题发起人 wjlsmail
  • 开始时间 开始时间
王鲁生: 您好,unit ? Union 应该对吧:)

Union 后 得不到第二个查询的结果,仍然无法找到字段。

谢谢,欢迎大家指导,讨论:),谢谢
 
dannyleons, : 您好,主要想知道Delphi能否访问Sql Server 2000中不同的查询结果集

,谢谢,请大家继续。
 
>>>>在Sql Server 2000的查询分析器中,这样两个查询结果会出现在两个工作区,我们用FieldByName取得
>>>>是第一个工作区的结果,我想在Delphi中也可以取得第二个工作区的数据,是不是
>>>>TADOQuery有指定Sql Server 2000查询结果工作区的方法么? 我不知道。望大家指导,讨论,谢谢

我想你上面所说的例子并不能说明问题。
SQL Server 岂不是也把结果集放在两个tab中的吗?
瞧瞧D5帮助里的这句:
The SQL property may contain only one complete SQL statement at a time. In general, multiple 揵atch?statements are not allowed unless a particular server supports them.
 
我想这应该有办法吧,让我们继续努力......
 
TO:wjlsmail
你的程序有很多可疑的地方,如:table就跟SQL Server系统保留字冲突了,改成table1
吧,还有你应该是统计所有同书名(FileName)的个数把;如下处理吧:
with TADOQuery.Create(self) do
begin
try
begin
ConnectionString := '...' ;
Sql.Add('Select Count(*) as counts,FieldName from table1 group by FieldName');

Open;
Label1.Caption := FieldByName('counts').AsString;
Label2.Caption := FieldByName('FieldName').AsString;
end;
finally
Free;
end;
end;

要把ADODB单元包含进来!

如果硬要联合多个查询集那就要看你的字段了:FileName必须是int类型才可以了
sql.add('SELECT COUNT(*) AS counts
FROM table1
UNION
SELECT FieldName
FROM table1');
就可以了,不过组合后FieldName字段确实是没有了,给Counts字段代替了。
 
socool_100:您好,谢谢回复,我想您误解了几点,可能是我表达的问题。
1 、 我问题中的Table FieldName只是说明是个"表","字段"而已,表达一个元素而已,当然
可以换为任何一个能用的名称。不过的确应该注意----这样协会带来误解。
2、 我的问题的实质是:

Select Count(*) from Table
Select FieldName from Tabel

在Sql Server 2000 的查询分析器中,分行写的语句(如上)可以执行的,Delphi提供Sql.Add
方法的目的我想也在于为了向数据库传送多行的Sql语句;在Sql Server 2000的查询分析器中,这样两个查询结果会出现在两个工作区,我们用FieldByName取得
是第一个工作区的结果,我想在Delphi中也可以取得第二个工作区的数据,是不是TADOQuery有指定Sql Server 2000查询结果工作区的方法么?
我不知道。望大家指导,讨论,谢谢 (当然,这样的要求完全可以用存储过程实现)
 
??????????
居然像实现这样的功能?
觉得这个出发点本身就是错误的。
在Sql Server 2000的查询分析器中,这样两个查询结果会出现在两个工作区。这是因
为它用两次查询打开啊,你如果要同时访问两个不同的select,也应该用两个query打
开啊。
想不明白你为什么想实现这样的功能。
 
每一个查询可以看作是一个表
两条查询语句得到的是两个表,两个表里面没有相同或者相关的条件所以不能得到你
要的结果,你可以执行一下你的语句在sql里面,得到的是不是你希望得到的两个结果呢?
我也考虑了,如何才能把两个完全不同的表结合在一起呢?疯了我也想不出来。
只有等到sql。。。。。。
 
陈晨: 您好,只是提出一个讨论:),千万不要急:),疯了可不是玩的:)


要不我们再讨论讨论,还是结了 ?
 
Sql.Add('Select Count(*) as counts,FieldName from table');
-----------------------------
 
jsxjd : 您好:)
这回您没仔细看我的问题吧 :) ,等您再次指导
 
后退
顶部