【发布时间】:2021-06-14 10:25:05
【问题描述】:
我已成功调用带有参数的 x++ 类 (ax dynamics 365) 中的 sql 过程,但无法从 sql 过程中获取 x++ 类中的返回/输出值。 下面是代码:
X++ 代码:
Connection connection = new Connection();
Statement statement = connection.createStatement();
str sql;
ResultSet result;
SqlStatementExecutePermission permission;
int64 value1 = 8;
str value2 = "War-001";
sql = strFmt('Exec [UpdateTimesheetRecord] \'%1\',\'%2\'', value1 , value2 );
permission = new SqlStatementExecutePermission(sql);
permission.assert();
try
{
result = statement.executeQuery(sql);
}
catch
{
}
CodeAccessPermission::revertAssert();
Sql过程:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE UpdateTimesheetRecord
@Value1 INT,
@Value2 VARCHAR(50)
AS
Begin Transaction
UPDATE WARHCMTIMESHEET
SET [STATUS] = @Value1
Where TimesheetId = @Value2
If @@ERROR <> 0
Begin
RollBack Transaction
Return -1
End
Else
Begin
Commit Transaction
Return @Value1
End
GO
【问题讨论】:
标签: sql-server x++ dynamics-365