![]() |
#5 |
Участник
|
Не помогло
Вот тестовый пример, аналогичный описываемой задаче: X++: public server static void testSQL() { Set permissionSet = new Set(Types::Class); Connection connection; Statement statement; str query; TestTable3798 testTable; //test table (SaveDataPerCompany = No) with one field str[10] named Field1 ; query += "BEGIN TRY \n"; query += "BEGIN TRANSACTION; \n"; query += "SELECT TOP 1 * FROM CustTable; \n"; query += "INSERT INTO TESTTABLE3798 (Field1, RecId) VALUES ('test', 123456); \n" ; query += "SELECT TOP 1 * FROM SYSTEMSEQUENCES WHERE NAME = -1; \n"; //query with error query += "COMMIT TRANSACTION; \n"; query += "END TRY \n"; query += "BEGIN CATCH \n"; query += "ROLLBACK TRANSACTION; \n"; query += "THROW; \n"; query += "END CATCH \n"; connection = new Connection(); statement = connection.createStatement(); permissionSet.add(new SqlStatementExecutePermission(query)); CodeAccessPermission::assertMultiple(permissionSet); statement.executeUpdate(query); CodeAccessPermission::revertAssert(); } Код: BEGIN TRY BEGIN TRANSACTION; SELECT TOP 1 * FROM CustTable; INSERT INTO TESTTABLE3798 (Field1, RecId) VALUES ('test', 123456); SELECT TOP 1 * FROM SYSTEMSEQUENCES WHERE NAME = -1; COMMIT TRANSACTION; END TRY BEGIN CATCH ROLLBACK TRANSACTION; THROW; END CATCH Цитата:
(1 row(s) affected)
(1 row(s) affected) (0 row(s) affected) Msg 245, Level 16, State 1, Line 5 Conversion failed when converting the nvarchar value 'Event' to data type int. |
|
Теги |
error, executeupdate, sql, statement, transact sql, transaction |
|
|