我目前在 Vb.Net 中有一个数据访问层。我对 ExecuteQuery(作为 DataSet)和 ExecuteNonQuery 函数的实现不太满意。有人有我能看到的任何代码吗?我的代码看起来不干净。对此的任何想法或批评也将不胜感激。
Using odpConn As OracleConnection = New OracleConnection(_myConnString)
odpConn.Open()
If _beginTransaction Then
txn = odpConn.BeginTransaction(IsolationLevel.Serializable)
End If
Try
Using odpCmd As OracleCommand = odpConn.CreateCommand()
odpCmd.CommandType = CommandType.Text
odpCmd.CommandText = sSql
For i = 0 To parameters.Parameters.Count - 1
Dim prm As New OracleParameter
prm = DirectCast(parameters.Parameters(i), ICloneable).Clone
odpCmd.Parameters.Add(prm)
Next
If (odpConn.State = ConnectionState.Closed) Then
odpConn.Open()
End If
iToReturn = odpCmd.ExecuteNonQuery()
If _beginTransaction Then
txn.Commit()
End If
End Using
Catch
txn.Rollback()
End Try
End Using