当前位置:编程学习 > C#/ASP.NET >>

C# 返回多个sql结果记录集

我需要查询多个表例如:
select * from 高血压 where name='123'
select * from 糖尿病 where id='001'
select * from 精神病 where age='23'
select * from 妇女儿童 where sex='1'

我需要同时查询4个表中的数据(4张表没有任何逻辑关系)

如果查询一个表连一次数据库太浪费资源。我想一次性返回4个sql语句中的记录集。不知道怎么做?
请大神说明 sql  asp.net 记录集 多条sql --------------------编程问答-------------------- select * from 高血压 where name='123'
;select * from 糖尿病 where id='001'
;select * from 精神病 where age='23'
;select * from 妇女儿童 where sex='1'
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答-------------------- sql语句之间用英文分号分割看,一次读取,接收的话你用reader循环或者datatablecollection都行 --------------------编程问答-------------------- DataSet + datatable表示无压力
想法很奇特啊,但你忘了数据库服务器是多线程的,一次将要看的网页全部请求并显示不一定会比同时请求那些网页来得快,你说是吗? --------------------编程问答--------------------
引用 1 楼 feiyun0112 的回复:
select * from 高血压 where name='123'
;select * from 糖尿病 where id='001'
;select * from 精神病 where age='23'
;select * from 妇女儿童 where sex='1'
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/


额。。这是??? --------------------编程问答-------------------- LZ可以查询一下Dataset和Datatable的多表查询 --------------------编程问答-------------------- select * from 高血压 where name='123'
 ;select * from 糖尿病 where id='001'
 ;select * from 精神病 where age='23'
 ;select * from 妇女儿童 where sex='1'
把这个放在一个sql语句里,用SqlDataAdapter执行然后返回DataSet
dataset[0]对应你第一个Sql语句,以此类推 --------------------编程问答-------------------- select * from 高血压 where name='123'
 ;select * from 糖尿病 where id='001'
 ;select * from 精神病 where age='23'
 ;select * from 妇女儿童 where sex='1'

这样返回的dataset.Tables.Count = 4 吗 --------------------编程问答-------------------- LZ还想问个问题,如果单个执行sql语句,和一次性执行sql在效率上会有差距吗? --------------------编程问答-------------------- 个人建议用cache,在cache中你愿意怎么查就怎么查,速度快,不占数据库连接。 --------------------编程问答-------------------- dataset,datareader都可以。 --------------------编程问答--------------------
引用 楼主 diablo_yiyi 的回复:
我需要查询多个表例如:
select * from 高血压 where name='123'
select * from 糖尿病 where id='001'
select * from 精神病 where age='23'
select * from 妇女儿童 where sex='1'

我需要同时查询4个表中的数据(4张表没有任何逻辑关系)


你可以并行4个线程去查询,然后使用Task进行同步,等待查询结束。 --------------------编程问答--------------------
引用 8 楼 diablo_yiyi 的回复:
LZ还想问个问题,如果单个执行sql语句,和一次性执行sql在效率上会有差距吗?


你自己可以测试。

小事情,不要纠结。比如说就算你通过10000次测试发现有1秒钟跟1.01秒的差别,也不要纠结它。这个时候可以多考虑编程风格。

如果速度从1秒变到0.5秒,那么你才绝对值得改变了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,