后台数据库为mssqlserver2000,XP的操作系统.
存储过程为:
alter proc zjyslrfindkmmc @zfkmkmbm varchar(20)
as
begin
declare @t table(code varchar(20),namea varchar(50),Pcode varchar(20),path varchar(200))
insert into @t select 科目编码,科目名称,上级科目编码,right('---'+科目编码,4) from Tabsubjects where 上级科目编码=@zfkmkmbm
if @@rowcount<>0
begin
while @@rowcount<>0
begin
insert into @t
select b.科目编码,b.科目名称,b.上级科目编码,a.path+right('---'+b.科目编码,4)
from @t a,dbo.Tabsubjects b
where a.code=b.上级科目编码 and not exists(select 1 from @t where code=b.科目编码)
end
select * from dbo.zjyslr where 科目名称 in (select namea as 科目名称 from @t)
end
else
select * from dbo.zjyslr where 科目名称 in(select 科目名称 from dbo.Tabsubjects where 科目编码=@zfkmkmbm)
end
在SQLSERVER里运行存储过程可以查询出记录集,但在VB前台却得不到,报错为 对象关闭.
存储过程为:
alter proc zjyslrfindkmmc @zfkmkmbm varchar(20)
as
begin
declare @t table(code varchar(20),namea varchar(50),Pcode varchar(20),path varchar(200))
insert into @t select 科目编码,科目名称,上级科目编码,right('---'+科目编码,4) from Tabsubjects where 上级科目编码=@zfkmkmbm
if @@rowcount<>0
begin
while @@rowcount<>0
begin
insert into @t
select b.科目编码,b.科目名称,b.上级科目编码,a.path+right('---'+b.科目编码,4)
from @t a,dbo.Tabsubjects b
where a.code=b.上级科目编码 and not exists(select 1 from @t where code=b.科目编码)
end
select * from dbo.zjyslr where 科目名称 in (select namea as 科目名称 from @t)
end
else
select * from dbo.zjyslr where 科目名称 in(select 科目名称 from dbo.Tabsubjects where 科目编码=@zfkmkmbm)
end
在SQLSERVER里运行存储过程可以查询出记录集,但在VB前台却得不到,报错为 对象关闭.
解决方案 »
- SQL2008数据库恢复,急!
- error 40sql
- 两列引用相同一个表 即使数据库表中都有数据,但也查询出来的还是空。
- 请教数据库的存储大小与性能问题
- 如何把三个表中字段名不同的记录查询出来?
- 问一个比较白痴的问题,SQL Server 2000的基础问题
- 各位大虾,关于ttf160_tlb.pas,ttf160_tlb.dcu问题
- 两个网站使用同一个sqlserver数据库同一张表,得到的数据不一样??
- 关于远程连接SQL Server 的问题...非常急,请大家帮忙!!谢谢
- sqlserver2012 实现每1000条commit一次
- log explorer提示end date after end of log,什么意思
- 急!!!如何建立access客户端和sql server之间的连接?
前台代码有问题,,,
Function zjyslrfindkmmccount(zfkmkmbmcount As String) As ADODB.Recordset
On Error GoTo line
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "zjyslrfindkmmccount"
cmd.Parameters.Append cmd.CreateParameter("@zfkmkmbmcount", adVarChar, adParamInput, 20, zfkmkmbmcount)
Set zjyslrfindkmmccount = cmd.Execute
Set cmd = Nothing
Exit Function
line:
MsgBox "服务器可能没打开", , "提示"
Set cmd = Nothing
End Function
as
begin set nocount on --加这句 declare @t table(code varchar(20),namea varchar(50),Pcode varchar(20),path varchar(200))
insert into @t select 科目编码,科目名称,上级科目编码,right('---'+科目编码,4) from Tabsubjects where 上级科目编码=@zfkmkmbm
if @@rowcount <> 0
begin
while @@rowcount <> 0
begin
insert into @t
select b.科目编码,b.科目名称,b.上级科目编码,a.path+right('---'+b.科目编码,4)
from @t a,dbo.Tabsubjects b
where a.code=b.上级科目编码 and not exists(select 1 from @t where code=b.科目编码)
end
select * from dbo.zjyslr where 科目名称 in (select namea as 科目名称 from @t)
end
else
select * from dbo.zjyslr where 科目名称 in(select 科目名称 from dbo.Tabsubjects where 科目编码=@zfkmkmbm)
end