У меня возникла странная проблема при попытке выполнить запрос DELETE снова в таблице SQL Server с помощью VB.NET, SQL Command и Parameters.Sqlcommand Параметры не выполняются
У меня есть следующий код:
Try
sqlCommand.Transaction = transaction1
sqlCommand.Connection = conn
sqlCommand.CommandText = sqlQuery
sqlCommand.Parameters.Add("@userID", SqlDbType.Int).Value = Convert.ToInt32(userID)
sqlCommand.Parameters.Add("@groupID", SqlDbType.Int).Value = Convert.ToInt32(groupID)
''#Delete the user from the group.
MessageBox.Show("User: " + Convert.ToString(userID) + " Group: " + Convert.ToString(groupID))
MessageBox.Show("Param, UserID: " + sqlCommand.Parameters.Item(0).Value.ToString)
MessageBox.Show("Param, GroupID: " + sqlCommand.Parameters.Item(1).Value.ToString)
return_deleteUser = sqlCommand.ExecuteNonQuery()
Catch ex As Exception
transaction1.Rollback()
Dim hr As Integer = Marshal.GetHRForException(ex)
MsgBox("Removal of user from group has failed: " + ex.Message() & hr)
End Try
, который выполняет следующий SQL-запрос:
Dim sqlQuery As String = "DELETE FROM MHGROUP.GROUPMEMS WHERE USERNUM [email protected] AND GROUPNUM [email protected]"
Моя проблема заключается в том, что, когда код выполняется, нет никакой ошибки сообщают. Я запустил SQL Profiler, и запрос не отображается в списке трассировки. Три ящика сообщений, которые я добавил, возвращают правильные значения, и если я должен был выполнить SQL-запрос к таблице со значениями, которые запрос будет успешным. И идентификатор пользователя, и идентификатор группы являются 3-значными целыми числами.
Может ли кто-нибудь предположить, почему код не работает должным образом, или какая-либо дальнейшая отладка, которую я могу использовать для выполнения кода? В идеале мне бы хотелось увидеть завершенный SQL-запрос с завершенными параметрами, но я не узнал, как это сделать.
EDIT: У меня есть следующие позже в коде, чтобы проверить, если выполнить все это успешно обработано:
If return_insertEvent > 0 And return_updateUser > 0 And return_nextSID > 0 And return_deleteUser > 0 Then
MessageBox.Show("Success")
return_removeADGroup = RemoveUserFromGroup(userID, groupName)
MessageBox.Show("Remove FS User from AD Group: " + return_removeADGroup)
transaction1.Commit()
transaction2.Commit()
transaction3.Commit()
transaction4.Commit()
returnResult = 1
Else
transaction1.Rollback()
transaction2.Rollback()
transaction3.Rollback()
transaction4.Rollback()
returnResult = 0
End If
Если Вам необходима дополнительная информация, пожалуйста, не стесняйтесь связаться со мной.
Вы подтвердили, что Transaction.Commit называется? –