中易网

sql 存储过程,返回数据集 并返回总行数

答案:5  悬赏:70  
解决时间 2021-01-11 07:38
  • 提问者网友:疯孩纸
  • 2021-01-10 10:26
sql 存储过程,返回数据集 并返回总行数
最佳答案
  • 二级知识专家网友:山有枢
  • 2021-01-10 10:41
1、存储过程创建语法:
create proc 存储过程名
(参数1,参数2,参数3....参数N)
as
begin
    SQL语句....
end2、返回数据集:

一般都是查询
select * from 表名3、返回总行数:

使用系统函数【@@ROWCOUNT】
select @@ROWCOUNT as ROW_COUNT

合并起来的示例是:
create proc 存储过程名
as
begin
    select * from 表名
    select @@ROWCOUNT as ROW_COUNT
end
全部回答
  • 1楼网友:撞了怀
  • 2021-01-10 12:44
在调用存储过程时@num 参数要指明output。用一下语句测试一下吧:
DECLARE @num INT
SET @num=NULL
EXEC member_list 1,10,@num OUTPUT
print @num
SET @num=NULL
EXEC member_list 1,10,@num
print @num
  • 2楼网友:神鬼未生
  • 2021-01-10 12:32
模拟的进度条很容易
真实的进度条貌似是有点复杂
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
  • 3楼网友:雾月
  • 2021-01-10 12:16
SQL Server 里面,好像是这么写的啊
SELECt @num = count(*) from member
要不你就在 查询之后, 马上
PRINT @num
一下,看看执行结果,
--------------------------------------------------
如果 存储过程没有问题, 那么问题可能出在调用的地方:
下面是一个 调用 存储过程, 指定参数 INPUT OUTPUT 的例子
// 定义要查询的参数.
// 第一个参数,是输入的.
testCommand.Parameters.Add(new SqlParameter("@UserName", "HeiHei"));
// 第2个参数,是输出的.
SqlParameter para2 = new SqlParameter("@OutVal", SqlDbType.VarChar, 10);
para2.Direction = ParameterDirection.Output;
testCommand.Parameters.Add(para2);
// 第3个参数,是既输入又输出的.
SqlParameter para3 = new SqlParameter("@InoutVal", SqlDbType.VarChar, 20);
para3.Direction = ParameterDirection.InputOutput;
para3.Value = "HAHA";
testCommand.Parameters.Add(para3);
// ExecuteNonQuery 方法,表明本次操作,不是一个查询的操作。将没有结果集合返回.
// 返回的数据,将是 被影响的记录数.
int insertRowCount = testCommand.ExecuteNonQuery();
// 存储过程执行完毕后,取得 output 出来的数据.
String pa2 = testCommand.Parameters["@OutVal"].Value.ToString();
String pa3 = testCommand.Parameters["@InoutVal"].Value.ToString();
  • 4楼网友:英雄的欲望
  • 2021-01-10 11:10
换一个思路,不必要用存储过程来实现
我不在的你用的是什么语言
在c#里面,你用dataset来存储执行的返回结果
dataset ds=sql语句
ds就是集合
ds,table[0].count这个就是返回行数
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息