【已解决】求助大神!!!二开Sql存储过程返回值
金蝶云社区-许聪文
许聪文
0人赞赏了该文章 1,513次浏览 未经作者许可,禁止转载编辑于2016年05月21日 10:25:30

客户需求,要做2个系统的对接,需要用到金蝶自带的Sql存储过程插入到其他系统数据库,现在要做一个删除数据的判断,请问如何实现。
贴一下我的代码如下:
#region 系统执行删除事务 public void SqlSeript2(string neima)
{ int row=0;
SqlParam sqlParam0 = new SqlParam("@NEIMA", KDDbType.Int32, Convert.ToInt32(neima));//内码
SqlParam parOutput = new SqlParam("@DeleteRowCount", KDDbType.Int32, null);//返回删除的行数
SqlParam parReturn = new SqlParam("@return", KDDbType.Int32,null); //返回值
parOutput.Direction = ParameterDirection.Output;
parReturn.Direction = ParameterDirection.ReturnValue;  
List<SqlParam> listParam = new List<SqlParam>();
listParam.Add(sqlParam0);
listParam.Add(parOutput);
listParam.Add(parReturn);
var returnData = SQLScriptServiceHelper.GetDataFromStoredProc(this.Context, DatabaseType.MS_SQL_Server, "/*dialect*/ exec mydelete '" + sqlParam0.Value + "','" + parOutput.Value + "'", listParam);
string sqlup = String.Format(@"Update T_PRD_MOENTRY Set F_ST_COMBO=0 where FENTRYID='" + neima + "'");//更新单据上的一个标识 DBServiceHelper.Execute(this.Context, sqlup); }


#endregion
下面是存储过程
create proc [dbo].[mydelete]
@NEIMA int,
@DeleteRowCount int outputAsBeginBegin
Set NOCOUNT OFF;
Set XACT_ABORT ON;
Begin Tran
Delete FROM qitaku.WrapPublicDB.dbo.XT_OrderImport WHERE FentryId=@NEIMA//这里是插入对方的数据库,已经连接好了。 set @DeleteRowCount = @@ROWCOUNT
Commit Tran
return @DeleteRowCount
if @@ERROR<>0
return -1
else
return 0
End
End返回值


看了论坛大神的帖子,说的我都看不懂,请大神帮我看看