程序调用存储过程 执行到command.ExecuteNonQuery()时没反应了 停在那里一直运行状态 检查发现存储过程加上下面一段:
DECLARE IMPDataCheck_Cursor CURSOR FOR --声明游标
select
ID,Name,Sex
from EX..A
OPEN IMPDataCheck_Cursor --开启游标
FETCH NEXT FROM IMPDataCheck_Cursor --循环读取游标数据
into @ID,@Name,@Sex
WHILE @@FETCH_STATUS = 0
set @errorMsg=''
if(@Name='' or @Name is NULL or DATALENGTH(@Name)/LEN(@Name)<>2)
set @errorMsg='姓名格式错误'
if(@errorMsg<>'')
INSERT INTO EX..Err_Log values(@ID,@errorMsg)
CLOSE IMPDataCheck_Cursor --关闭游标
DEALLOCATE IMPDataCheck_Cursor --释放游标
加上这一段就不行了 注释掉就OK 请问下是怎么回事
------解决方案--------------------
@@FETCH_STATUS = 0
体内至少要加上
FETCH NEXT FROM IMPDataCheck_Cursor --循环读取游标数据
into @ID,@Name,@Sex
---try
DECLARE IMPDataCheck_Cursor CURSOR FOR --声明游标
select
ID,Name,Sex
from EX..A
OPEN IMPDataCheck_Cursor --开启游标
FETCH NEXT FROM IMPDataCheck_Cursor --循环读取游标数据
into @ID,@Name,@Sex
WHILE @@FETCH_STATUS = 0
begin
set @errorMsg=''
if(@Name='' or @Name is NULL or DATALENGTH(@Name)/LEN(@Name)<>2)
set @errorMsg='姓名格式错误'
if(@errorMsg<>'')
INSERT INTO EX..Err_Log values(@ID,@errorMsg)
FETCH NEXT FROM IMPDataCheck_Cursor --循环读取游标数据
into @ID,@Name,@Sex
end
CLOSE IMPDataCheck_Cursor --关闭游标
DEALLOCATE IMPDataCheck_Cursor --释放游标