create PROCEDURE [dbo].[wg_lzpro]
@sqlwhere nvarchar(1000)
AS
BEGIN
declare @id int
declare @wgmc nvarchar(50)
declare @jlsj nvarchar(50)
declare @count int
create table #test
(
id int identity(1,1),
wgid int ,
wgmc nvarchar(50),
jlsj nvarchar(50),
counta int
)
declare list cursor local scroll for
select id,wgmc ,jlsj FROM [ldrk_glpt].[dbo].[wg]
open list
fetch next from list into @id,@wgmc,@jlsj
while @@FETCH_STATUS<>-1
begin
select @count = COUNT(*) from [ldrk_glpt].[dbo].[wg_lz] where wg_id = @id
insert into #test values(@id,@wgmc,@jlsj,@count)
fetch next from list into @id,@wgmc,@jlsj
end
END
declare @sql nvarchar(200)
set @sql='select wgid,wgmc,jlsj ,counta from #test where 1=1' +@sqlwhere
@sqlwhere nvarchar(1000)
AS
BEGIN
declare @id int
declare @wgmc nvarchar(50)
declare @jlsj nvarchar(50)
declare @count int
create table #test
(
id int identity(1,1),
wgid int ,
wgmc nvarchar(50),
jlsj nvarchar(50),
counta int
)
declare list cursor local scroll for
select id,wgmc ,jlsj FROM [ldrk_glpt].[dbo].[wg]
open list
fetch next from list into @id,@wgmc,@jlsj
while @@FETCH_STATUS<>-1
begin
select @count = COUNT(*) from [ldrk_glpt].[dbo].[wg_lz] where wg_id = @id
insert into #test values(@id,@wgmc,@jlsj,@count)
fetch next from list into @id,@wgmc,@jlsj
end
END
declare @sql nvarchar(200)
set @sql='select wgid,wgmc,jlsj ,counta from #test where 1=1' +@sqlwhere
EXEC sp_executesql @sql
类中调用存储过程的方法
public DataSet GetListA(string strwhere)
{
SqlParameter[] parameters = { new SqlParameter("@sqlwhere", SqlDbType.NVarChar, 1000) };
parameters[0].Value = strwhere;
return DbHelperSQL.RunProcedure("wg_lzpro", parameters, "ds");
}