110,528
社区成员
发帖
与我相关
我的任务
分享
ALTER proc [dbo].[spDelFloat_AboutTable]
(
@FID NVARCHAR(50),
@state NVARCHAR(50) OUTPUT,
@sqlFUID uniqueidentifier OUTPUT
)
as
begin transaction
declare @errorSum int
select @sqlFUID=SqlFUID from saFlow where FID=@FID
delete from saFlow where FID=@FID
set @errorSum=@errorSum+@@error --累计是否有错误
delete from saSqlMst where FUID=@sqlFUID
set @errorSum=@errorSum+@@error --累计是否有错误
if @errorSum>0
begin
set @state=0
rollback transaction
end
else
begin
set @state=1
commit transaction
end
ALTER proc [dbo].[spDelFloat_AboutTable]
(
@FID NVARCHAR(50),
@state NVARCHAR(50) OUTPUT,
@sqlFUID uniqueidentifier OUTPUT
)
as
begin transaction
declare @errorSum int
set @sqlFUID=(select SqlFUID from saFlow where FID=@FID)
delete from saFlow where FID=@FID
set @errorSum=@errorSum+@@error --累计是否有错误
delete from saSqlMst where FUID=@sqlFUID
set @errorSum=@errorSum+@@error --累计是否有错误
if @errorSum>0
begin
set @state=0
rollback transaction
end
else
begin
set @state=1
commit transaction
end
select SqlFUID from saFlow where FID=@FID
单独执行一下上面一句补救知道有没有值了吗public string delFlowAbout(string flowFid)
{
var spd = new StoredProcedure("spDelFloat_AboutTable");
spd.Command.Parameters.Add("@FID", flowFid, DbType.String);
spd.Command.Parameters.Add("@state", -1, DbType.String,ParameterDirection.InputOutput);
spd.Command.Parameters.Add("@sqlFUID", null, DbType.Guid, ParameterDirection.InputOutput);
spd.Execute();
return spd.Command.Parameters[1].ParameterValue.ToString();
}
这个是我c# 代码
表数据不能删除,是执行成功,但是数据还在,还是执行出错?-------sql中 有回滚机制, 我能获取到返回执行成功的值
我在想 是不是 select @sqlFUID=SqlFUID from saFlow where FID=@FID 这个变量@sqlFUID 没有赋到值 所以 下面删除空
造成删除不了数据?