drop sequence name
他のトランザクション ( ) と同じように実行しようとしてもinsert, update, delete
、うまくいきません。C# プログラムからシーケンスをドロップして作成するにはどうすればよいですか?
ここにコードがあります
public static bool executeQuery(string query)
{
bool success = false;
DBConnection db = new DBConnection();
db.Connect();
if (db.GetConnectionState())
{
db.SetSql(query);
if (db.ExecuteTransactions())
success = true;
else
success = false;
}
else
success = false;
return success;
}
メソッドExecuteTransactions()
とSetSql()
DBConnection クラスから、
private OracleConnection connection;
private OracleCommand command;
private bool autoDisconnect;
public bool ExecuteTransactions()
{
OracleTransaction transaction = null;
bool success = false;
try
{
transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
command.Connection = connection;
command.Transaction = transaction;
if (command.ExecuteNonQuery() > 0)
{
transaction.Commit();
success = true;
}
else
{
transaction.Rollback();
success = false;
}
}
catch (Exception ex)
{
success = false;
autoDisconnect = true;
throw new Exception(ex.ToString());
}
//Cleaning
finally
{
if (transaction != null)
{
transaction.Dispose();
}
if (autoDisconnect)
{
if (command.Parameters.Count > 0)
{
foreach (OracleParameter pram in command.Parameters)
{
if (pram.Direction != ParameterDirection.ReturnValue)
pram.Dispose();
}
}
if (command != null)
{
command.Dispose();
}
Dispose();
}
}
return success;
}
public void SetSql(string sql)
{
command = new OracleCommand(sql);
command.BindByName = true;
}
OracleCommand ではないため、問題がSetSql()
メソッドであるかどうかはわかりません。drop sequence
または、そのExecuteTransactions()
方法の場合、行のどこかif (command.ExecuteNonQuery() > 0)
ありがとうございました!
編集:これはエラーです
An exception of type 'System.Exception' occurred in TDS1.exe but was not handled in user code
Additional information: System.InvalidOperationException: OracleCommand.CommandText is invalid
at Oracle.ManagedDataAccess.Client.OracleCommand.DoPreExecuteProcessing(OracleDependencyImpl orclDependencyImpl, Boolean bXmlQuerySave)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
そして、それは行で言いますif (command.ExecuteNonQuery > 0)