在C#中,调用ORACLE存储过程时,若存储过程有CURSOR类型的参数,可以通过下述语句添加: OracleCommand oraComm = new OracleCommand();
oraComm.Parameters.Add("cur_name",OracleType.Cursor);
oraComm.Parameters["cur_name"].Direction = ParameterDirection.Output; 其中,
OracleType.Cursor指定参数的类型为CURSOR类型。。 但是当调用SQL SERVER存储过程时,没有与OracleType.Cursor对应的SqlDbType.Cursor,请问CURSOR参数类型在哪里指定???
oraComm.Parameters.Add("cur_name",OracleType.Cursor);
oraComm.Parameters["cur_name"].Direction = ParameterDirection.Output; 其中,
OracleType.Cursor指定参数的类型为CURSOR类型。。 但是当调用SQL SERVER存储过程时,没有与OracleType.Cursor对应的SqlDbType.Cursor,请问CURSOR参数类型在哪里指定???
解决方案 »
- jquery的blockUI问题
- asp。net中byte[]的默认值
- 每天0点查询一次数据库,更新页面上的数据
- asp.net学习问题
- img控件
- 请教高手,如何实现上传文件同时显示传输状态(比如进度条,或传输速率,剩余时间等)
- 请问为什么我从Access数据库中取出的数据老是少一条呢?
- 为什么DropDownList在客户端改变了数据源之后,在服务器端没有改变
- 保存文本到SQLSERVER数据库时,换行是没有问题的,但是怎样把首行缩进的空白也保存到数据库里?
- 在asp.net 中,数据连接的问题请问我错在哪里?
- login控件是如何验证用户名,密码登录的呀?
- 【求助】100分,请教一个有关asp.net成员提供程序(membership provider)的配置问题!!!!!!!!
在SQL中直接返回记录集
如果SQL存储过程有CURSOR类型的参数,,怎么办??如何调用??
可以开始事务,然后进行查询,只要过程里面不commit;只有锁定用户能看到数据可以参考FortuneBase框架
参考地址www.cnblogs.com/mail-ricklee
SET NOCOUNT ONDECLARE @vendor_id int, @vendor_name nvarchar(50),
@message varchar(80), @product nvarchar(50)PRINT '-------- Vendor Products Report --------'DECLARE vendor_cursor CURSOR FOR
SELECT VendorID, Name
FROM Purchasing.Vendor
WHERE PreferredVendorStatus = 1
ORDER BY VendorIDOPEN vendor_cursorFETCH NEXT FROM vendor_cursor
INTO @vendor_id, @vendor_nameWHILE @@FETCH_STATUS = 0
BEGIN
PRINT ' '
SELECT @message = '----- Products From Vendor: ' +
@vendor_namePRINT @message-- Declare an inner cursor based
-- on vendor_id from the outer cursor.DECLARE product_cursor CURSOR FOR
SELECT v.Name
FROM Purchasing.ProductVendor pv, Production.Product v
WHERE pv.ProductID = v.ProductID AND
pv.VendorID = @vendor_id-- Variable value from the outer cursorOPEN product_cursor
FETCH NEXT FROM product_cursor INTO @productIF @@FETCH_STATUS <> 0
PRINT ' <<None>>' WHILE @@FETCH_STATUS = 0
BEGINSELECT @message = ' ' + @product
PRINT @message
FETCH NEXT FROM product_cursor INTO @productENDCLOSE product_cursor
DEALLOCATE product_cursor-- Get the next vendor.
FETCH NEXT FROM vendor_cursor
INTO @vendor_id, @vendor_name
END
CLOSE vendor_cursor
DEALLOCATE vendor_cursor