读书人

winform里执行存储过程存储过程中的

发布时间: 2012-04-28 11:49:53 作者: rapoo

winform里执行存储过程,存储过程中的游标部分不执行是为什么?
winform里执行存储过程,存储过程中的游标部分不执行是为什么?

我的存储过程sp1里有以下一段内容
……
delete from t_warehouseStock

DECLARE ItemBom_cursor CURSOR
FOR SELECT FitemID FROM table1 group by FitemID
Open ItemBom_cursor
Fetch Next From ItemBom_cursor into @id
while @@Fetch_status=0
begin
insert into t_warehouseStock(FitemID,FBatchNo,FBomInterID,ICinvQty,InQty,OutQty,PlinQty) exec sp @ID
Fetch Next From ItemBom_cursor into @FitemID,@FBomInterID
end
Close ItemBom_cursor
DEALLOCATE ItemBom_cursor
/***********************************************************************************/

当我用
SqlCommand comm = new SqlCommand();
comm.CommandType = CommandType.StoredProcedure;
comm.Connection = myConn;
comm.CommandText = "sp1";
comm.ExecuteReader();

SqlCommand comm = new SqlCommand();
comm.Connection = myConn;
comm.CommandText = "exec sp1";
comm.ExecuteNonQuery();
获得的结果,都是sp1执行到“……
delete from t_warehouseStock
”的结果,后面的游标没有执行
但该存储过程在数据库的查询里直接调用,是正常的,游标部分也被正常执行了

[解决办法]
难道你的用户特殊?没有执行游标的权限?
[解决办法]

探讨

难道你的用户特殊?没有执行游标的权限?

读书人网 >C#

热点推荐