报表制作,你用存储过程来实现吗?那查询条件怎么办?
问题点数: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




