SQL SERVER怎么获取存储过程返回的数据集? 50
6个回答
展开全部
数据集可以用print的方式返回。
1、创建测试表、插入数据:
create table test
(id int not null,
name varchar(10))
insert into test values (1,'张三')
insert into test values (2,'李四')
表里数据如图:
2、用print返回结果集,需要用到游标逐行输出,代码如下:
declare @id int --定义变量
declare @name varchar(10) --定义变量
declare cur_c cursor for select ID,name from test --定义游标
open cur_c --打开游标
fetch next from cur_c into @id,@name --取出游标中内容到变量
while @@fetch_status = 0 --执行循环
begin --循环开始
print cast(@id as varchar)+','+@name --打印结果
fetch next from cur_c into @id,@name --继续取出游标中内容到变量
end --循环结束
close cur_c --关闭游标
deallocate cur_c --释放游标
3、结果截图:
展开全部
兄弟记得SQL Server返回的最后一句话,你收到ADO.NET数据集对象直接上线!
字符串合作=“数据源=初始目录=用户ID = SA;密码=”;
SqlConnection的康恩=新的SqlConnection(CO);
数据集DS =新的DataSet( );
SqlDataAdapter的DT =新的SqlDataAdapter(“执行存储过程的名称,CONN);
dt.Fill(DS,”标“);
这是最简单的。
参数,以便使用有点麻烦。
字符串合作=“数据源=初始目录=用户ID = SA;密码=”;
SqlConnection的康恩=新的SqlConnection(CO);
数据集DS =新的DataSet( );
SqlDataAdapter的DT =新的SqlDataAdapter(“执行存储过程的名称,CONN);
dt.Fill(DS,”标“);
这是最简单的。
参数,以便使用有点麻烦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥记得sql server最后一句返回的你直接用ado.net 的dataset 对象接收就行呀。
public string co = "Data Source=.; Initial Catalog=;User Id=sa;Pwd=";
SqlConnection conn = new SqlConnection(co);
DataSet ds = new DataSet();
SqlDataAdapter dt = new SqlDataAdapter("exec 存储过程名", conn);
dt.Fill(ds, "biao");
这个是最简单的。
要想用参数,有点麻烦。
public string co = "Data Source=.; Initial Catalog=;User Id=sa;Pwd=";
SqlConnection conn = new SqlConnection(co);
DataSet ds = new DataSet();
SqlDataAdapter dt = new SqlDataAdapter("exec 存储过程名", conn);
dt.Fill(ds, "biao");
这个是最简单的。
要想用参数,有点麻烦。
更多追问追答
追问
不是在程序里边,如何在另一个存储过程里边获取
追答
你可以写成临时表
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @str1 nvarchar(5), @str2 nvarchar(5), @str3 nvarchar(5);
DECLARE c_emp CURSOR local FOR select 123,123,123
OPEN c_emp;
FETCH FROM c_emp INTO @str1 , @str2 , @str3;
print @str1 ;
print @str2 ;
print @str3;
CLOSE c_emp;
DECLARE c_emp CURSOR local FOR select 123,123,123
OPEN c_emp;
FETCH FROM c_emp INTO @str1 , @str2 , @str3;
print @str1 ;
print @str2 ;
print @str3;
CLOSE c_emp;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT @num = count(*) from member
PRINT @num
PRINT @num
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询