这样和数据库的表绑定:Private Sub Form_Load() '工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;" CN.Open Rs.CursorLocation = adUseClient Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = Rs End Sub
count(measureworkid) as number into #o2_change from changestatuslabel where storedate>=@startday and storedate<=@endday and substring(rtrim(flowlabel),14,3)=@mystring group by substring(rtrim(flowlabel),14,3) order by substring(rtrim(flowlabel),14,3) select substring(rtrim(flowlabel),14,3) as enginecode,
count(measureworkid) as number into #o2_label from enginelabelinfo where storedate>=@startday and storedate<=@endday and substring(rtrim(flowlabel),14,3)=@mystring group by substring(rtrim(flowlabel),14,3) order by substring(rtrim(flowlabel),14,3)insert #o2_label select * from #o2_change select enginecode,sum(number) as number into #o2_labelinfo from #o2_label group by enginecode order by enginecodeselect substring(rtrim(flowlabel),14,3) as enginecode, count(repaircauseid) as number1 into #o2_change1 from changestatuslabel where storedate>=@startday and storedate<=@endday and rtrim(repaircauseid)<>'' and substring(rtrim(flowlabel),14,3)=@mystring group by substring(rtrim(flowlabel),14,3) -- having count(repaircauseid)>0 --with rollup order by substring(rtrim(flowlabel),14,3) select substring(rtrim(flowlabel),14,3) as enginecode, count(repaircauseid) as number1 into #o2_label1 from enginelabelinfo where storedate>=@startday and storedate<=@endday and rtrim(repaircauseid)<>'' and substring(rtrim(flowlabel),14,3)=@mystring group by substring(rtrim(flowlabel),14,3) -- having count(repaircauseid)>0 --with rollup order by substring(rtrim(flowlabel),14,3) insert #o2_label1 select * from #o2_change1select enginecode,sum(number1) as number1 into #o2_label1_1 from #o2_label1 group by enginecode order by enginecodeselect l.enginecode,l.number,o.number1 as number1 into #o2_labelinfo1 from #o2_label1_1 o ,#o2_labelinfo l where l.enginecode=o.enginecode -- group by l.model,l.moment,l.number order by l.enginecode--insert o2_machine select * from #o2_labelinfo1 --temp where id>=@num and id<=@num1 select m.enginecode as '机型代号',o.enginename as '机型名称', m.number as '测功台数', m.number1 as '返修台数', (rtrim(str((cast(m.number1 as decimal(11,3))/cast(m.number as decimal(11,3)))*100,4,1))+'%') as '返修百分比' from #o2_labelinfo1 m,enginemodel o where m.enginecode=o.enginecode order by m.enginecode GO
在生成临时表的时候用##select * into ##tmp from 表名--------------------------------- 然后在客户端: Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=bench;User Id=sa;Password=sa;" CN.Open Rs.CursorLocation = adUseClient Rs.Open "select * from ##tmp", CN, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = Rs这样就可以和临时表绑定的!----------------------------------#局部临时表的生命周期的会话!!##全局临时表的生命周期是全局的!
在生成临时表的时候用##select * into ##tmp from 表名--------------------------------- 然后在客户端: Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=bench;User Id=sa;Password=sa;" CN.Open Rs.CursorLocation = adUseClient Rs.Open "select * from ##tmp", CN, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = Rs这样就可以和临时表绑定的!----------------------------------#局部临时表的生命周期的会话!!##全局临时表的生命周期是全局的!
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;" CN.Open
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs
End Sub
所以绑定是不行的建议你绑定一个实实在在的表,而不是临时表
附:存储过程代码:
CREATE PROCEDURE [dbo].[fxlzs1]
@mystring varchar(50),
@startday char(8),
@endday char(8)
ASselect substring(rtrim(flowlabel),14,3) as enginecode,
count(measureworkid) as number into #o2_change
from changestatuslabel
where storedate>=@startday and storedate<=@endday and substring(rtrim(flowlabel),14,3)=@mystring
group by substring(rtrim(flowlabel),14,3)
order by substring(rtrim(flowlabel),14,3)
select substring(rtrim(flowlabel),14,3) as enginecode,
count(measureworkid) as number into #o2_label
from enginelabelinfo
where storedate>=@startday and storedate<=@endday and substring(rtrim(flowlabel),14,3)=@mystring
group by substring(rtrim(flowlabel),14,3)
order by substring(rtrim(flowlabel),14,3)insert #o2_label select * from #o2_change
select enginecode,sum(number) as number
into #o2_labelinfo from #o2_label
group by enginecode order by enginecodeselect substring(rtrim(flowlabel),14,3) as enginecode,
count(repaircauseid) as number1 into #o2_change1
from changestatuslabel
where storedate>=@startday and storedate<=@endday and rtrim(repaircauseid)<>''
and substring(rtrim(flowlabel),14,3)=@mystring
group by substring(rtrim(flowlabel),14,3)
-- having count(repaircauseid)>0
--with rollup
order by substring(rtrim(flowlabel),14,3)
select substring(rtrim(flowlabel),14,3) as enginecode,
count(repaircauseid) as number1 into #o2_label1
from enginelabelinfo
where storedate>=@startday and storedate<=@endday and rtrim(repaircauseid)<>''
and substring(rtrim(flowlabel),14,3)=@mystring
group by substring(rtrim(flowlabel),14,3)
-- having count(repaircauseid)>0
--with rollup
order by substring(rtrim(flowlabel),14,3)
insert #o2_label1 select * from #o2_change1select enginecode,sum(number1) as number1 into #o2_label1_1 from #o2_label1
group by enginecode order by enginecodeselect l.enginecode,l.number,o.number1 as number1
into #o2_labelinfo1 from #o2_label1_1 o ,#o2_labelinfo l
where l.enginecode=o.enginecode
-- group by l.model,l.moment,l.number
order by l.enginecode--insert o2_machine select * from #o2_labelinfo1 --temp where id>=@num and id<=@num1
select m.enginecode as '机型代号',o.enginename as '机型名称',
m.number as '测功台数', m.number1 as '返修台数',
(rtrim(str((cast(m.number1 as decimal(11,3))/cast(m.number as decimal(11,3)))*100,4,1))+'%') as '返修百分比'
from #o2_labelinfo1 m,enginemodel o where m.enginecode=o.enginecode order by m.enginecode
GO
在生成临时表的时候用##select * into ##tmp from 表名---------------------------------
然后在客户端: Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=bench;User Id=sa;Password=sa;" CN.Open
Rs.CursorLocation = adUseClient
Rs.Open "select * from ##tmp", CN, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs这样就可以和临时表绑定的!----------------------------------#局部临时表的生命周期的会话!!##全局临时表的生命周期是全局的!
在生成临时表的时候用##select * into ##tmp from 表名---------------------------------
然后在客户端: Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=bench;User Id=sa;Password=sa;" CN.Open
Rs.CursorLocation = adUseClient
Rs.Open "select * from ##tmp", CN, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs这样就可以和临时表绑定的!----------------------------------#局部临时表的生命周期的会话!!##全局临时表的生命周期是全局的!
如有问题,该怎样解决呢?
set nocount on最后加上
drop table #临时表名
set nocount off
在前台就可以得到记录集的多客户端也不会产生问题!