当前位置: 代码迷 >> Sql Server >> 关于存储过程的有关问题
  详细解决方案

关于存储过程的有关问题

热度:46   发布时间:2016-04-27 14:54:20.0
关于存储过程的问题。
比如我有这样一个存储过程:
create procedure mytb
as
begin
select * from mytb 
end
我再VS中调用的时候返回的是一个表能绑定在一个datagridview中,但是我现在希望我的mytb这个存储过程还需要得出一个select count(*) from mytb 该怎么修改我的过程呢?
还有有没有详细一点讲存储过程的资料,分享一下吧。

------解决方案--------------------
SQL code
输出参数 declare @num int, @sqls nvarchar(4000) set @sqls='select count(*) from tableName' exec(@sqls) --如何将exec执行结果放入变量中? declare @num int, @sqls nvarchar(4000) set @sqls='select @a=count(*) from tableName ' exec sp_executesql @sqls,[email protected] int output',@num output select @num
------解决方案--------------------
create procedure mytb
as
begin
declare @cnt int
select @cnt=count(1) from mytb
select *,@cnt cnt from mytb
end

------解决方案--------------------
在定义个变量 declare @coun int

------解决方案--------------------
可以再加一个select
create procedure mytb
as
begin
select * from mytb 

select count(*) from mytb
end
程序里面绑定的时候可以绑定另外一个数据集(select count(*) from mytb这个所返回的行数)
ds.Tables[1]
探讨
比如我有这样一个存储过程:
create procedure mytb
as
begin
select * from mytb
end
我再VS中调用的时候返回的是一个表能绑定在一个datagridview中,但是我现在希望我的mytb这个存储过程还需要得出一个select count(*) from mytb 该怎么修改我的过程呢?
还有有没有详细一点讲存储过程的资料,分享一下吧……

------解决方案--------------------
select * from mytb绑定在一个datagridview中

这个datagridview行数量不就是select count(*) from mytb吗
------解决方案--------------------
SQL code
create procedure mytbasbeginselect * from mytb  select count(*) from mytbend
------解决方案--------------------
存储过程增加一个输出参数:
SQL code
create procedure mytbdeclare @count int outputasbeginselect * from mytb  set @count=(select count(*) from mytb)end
  相关解决方案