CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

报表制作,你用存储过程来实现吗?那查询条件怎么办?

楼主foolflyfish(I am progame.)2001-11-09 21:53:13 在 MS-SQL Server / 基础类 提问

问题点数:90、回复次数:15Top

1 楼icevi(按钮工厂)回复于 2001-11-09 21:58:52 得分 90

有时用,查询条件用参数传递。Top

2 楼icevi(按钮工厂)回复于 2001-11-09 22:00:09 得分 0

不过太复杂的参数,我就不在数据库里用SP了,我会用command对象来做。Top

3 楼foolflyfish(I am progame.)回复于 2001-11-09 22:02:15 得分 0

为什么不直接用recordsetTop

4 楼golcm(licm)回复于 2001-11-09 22:04:35 得分 0

看你是用什么数据库呀。  
  SQL   Server存储过程用参数作为条件,返回结果集.  
  其它数据库,在存储过程用游标,把数据保存在一个临时表中。Top

5 楼icevi(按钮工厂)回复于 2001-11-09 22:06:08 得分 0

有时候一条语句搞不定,光用recordset   不行。用command   可以执行多条语句啊。Top

6 楼progame(www.progame.org)回复于 2001-11-09 22:10:33 得分 0

如果有20多个查询条件你还愿意用参数么Top

7 楼icevi(按钮工厂)回复于 2001-11-09 22:12:52 得分 0

不一定,看是什么情况了:)  
  能不能举个例?Top

8 楼progame(www.progame.org)回复于 2001-11-09 22:20:14 得分 0

就是查询条件非常多  
   
  我现在是在代码中实现sql语句的组合的  
   
  然后通过recordset查询,传入mshflexgrid,再使用我的打印类Top

9 楼icevi(按钮工厂)回复于 2001-11-09 22:54:10 得分 0

要是我也是这样做的,换成用SP可能还麻烦些。Top

10 楼foolflyfish(I am progame.)回复于 2001-11-12 11:18:36 得分 0

按钮:使用command执行多条语句,能否说具体一些?结果结果集终归是一个呀  
   
  这两天还是没弄明白,我一般只在调用sp时才用到commandTop

11 楼icevi(按钮工厂)回复于 2001-11-12 11:52:41 得分 0

手边没有代码,没法找给你看:(  
  要是查询条件很多,一条语句可以搞定的话也可以不用command   啊。但是有时一条语句搞不定,在SP中定义太多的参数并传递参数又太麻烦,用COMMAND执行多个语句来完成类似SP的工作就可以了。在commandtext中组合出T-SQL语句来执行有时可能方便点。  
   
   
   
  Top

12 楼foolflyfish(I am progame.)回复于 2001-11-12 12:38:37 得分 0

不行啊,你一定得找代码给我看一下的  
   
  要不随便写两条也好Top

13 楼icevi(按钮工厂)回复于 2001-11-12 12:53:48 得分 0

家里有,公司里的被我格了。  
   
  比如可以这样写,写错了别怪我:)  
  dim   com   as   new   adodb.command  
  com.activeconntecion=con  
  com.commandtype=adcmdtext  
  dim   strsql   as   string  
  strsql="select   identity(int,1,1)   as   id,a,b   into   #tmp   from   tablename   "  
  strsql=strsql   &   vbcr   &   "delete   from   tablename"  
  strsql=strsql   &   vbcr   &   "select   t1.id-t2.minid+1   as   a,t1.b   as   b   "   &   _  
          "into   tablename   "   &   _  
          "from   #tmp   t1,(select   b,min(id)   as   minid   from   #tmp   group   by   b   )   t2   "   &   _  
          "   where   t1.b=t2.b   "    
  strsql=strsql   &   vbcr   &   "select   *   from   tablename   where   "   &   makefilterstring()  
  com.commandtext=strsql  
  dim   re   as   new   adodb.recordset  
  set   re=com.execute()  
   
  其中makefilterstring用来生成复杂字符串。这个例子可能不是很合适,但用法是这样的。Top

14 楼progame(www.progame.org)回复于 2001-11-12 13:08:07 得分 0

哦,例子很适合了,看懂了,受教,谢了Top

15 楼Haiwer(海阔天空)回复于 2001-11-12 15:38:41 得分 0

学习!Top

相关问题

  • 如何用存储过程生成的交叉查询结果做一动态报表?(VB+SQL)
  • 存储过程+报表问题?
  • ======超级查询(存储过程)==================
  • 存储过程查询问题
  • 存储过程里的模糊查询~
  • 用存储过程分页查询还是好慢,在查询分析器执行存储过程要10秒
  • 存储过程作为数据源的水晶报表问题
  • 关于水晶报表的存储过程的小问题
  • 水晶报表调用存储过程的问题(急)
  • 水晶报表调用存储过程的问题(急)

关键词

  • 语句
  • 存储过程
  • 执行
  • 代码
  • 数据库
  • sql
  • strsql
  • 参数
  • vbcr
  • 条件

得分解答快速导航

  • 帖主:foolflyfish
  • icevi

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo