三亚希尔顿 前台电话:asp.net的事务处理存储过程可以返回多个自动编号值吗?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 19:37:37
asp.net的事务处理存储过程可以返回多个自动编号值吗?
例如有N个表:
表1:tb_1
表2:tb_2
表3:tb_3
当在以上的表中同时插入数据时,是否可以在存储过程返回多个自动编号值,例如在一个函数中依次将3个表插入数据后,最后用一个事务处理返回这3个自动编号ID值。
比如:
tb_1 返回的自动编号是 1
tb_2 返回的自动编号也是 1
tb_3 返回的自动编号还是 1

从一个事务处理中同时返回这三个自动编号值

例如这样:
return ID1 +" "+ ID2 +" "+ ID3;
我想把返回的自动编号在Asp.Net用Split()函数处理。
不想在SQL的存储过程中处理,例如在ASP。NET中返回如下:
private String IDs(){
// 这里执行事务处理存储过程
// 如果异常则回滚......
return ID1 +" "+ ID2 +" "+ ID3;
}
String [] arr = IDs.Split( new char[]{' '} );
String ID1 = arr[0];
String ID2 = arr[1];
String ID3 = arr[2];
能否给一点点示例???

总体意思是:
在Asp.Net中得到SQL存储过程插入数据的多个返回值。
确切地说返回这些插入N个表的自动编号,把这些返回ID值组织类似一个集合,或自定义数组一样。
返回表1 @ID1
返回表2 @ID2
返回表3 @ID3
在SQL存储过程中是否可以这样返回
Return @ID1+'$'+@ID2+'$'+@ID3

如果可以这样返回,那么在Asp.Net中如何将这些返回值接收过来?

要使用数据库的系统变量,你这个问题是Sql SErver的,与AsP.net无关。可以的

存储过程使用带有out关键字得参数,执行完后自动返回编号即可:
例如:

CREATE PROC Test
out @t1 int,
out @t2 int
as
begin tran
插入操作
set @t1=@@identity
插入操作
set @t2=@@identity
commit
end tran