この方法に問題があります。すべてのパラメーターが順番に存在しますが、それでも次のエラーが発生します: ORA-01008: すべての変数がバインドされていません
protected void LastUpdateDates(string Path, string Key, bool Update)
{
//load the update dates of the mta files
try
{
FileInfo file = new FileInfo(Path);
string query = string.Empty;
if (myOleDbConnection.State == ConnectionState.Closed) { myOleDbConnection.Open(); }
OleDbCommand myOleDbCommand = new OleDbCommand();
query = "UPDATE USER_LINK_MTA_LOGS SET DT_ATUALIZACAO=:PDT, DS_CAMINHO=:PFULLNAME WHERE ID_ARQUIVO=:PKEY";
myOleDbCommand.Connection = myOleDbConnection;
myOleDbCommand.CommandText = query;
myOleDbCommand.Parameters.AddWithValue(":PDT", file.LastWriteTime);
myOleDbCommand.Parameters.AddWithValue(":PFULLNAME", file.FullName);
myOleDbCommand.Parameters.AddWithValue(":PKEY", Key);
myOleDbCommand.ExecuteNonQuery();
myOleDbCommand.Dispose();
}
catch (Exception exxx)
{
ErrorHandler.TreatError("Could not obtain MTA configuration\r\n" + exxx);
}
}
今私は?スキートが言うようにプレースホルダー:
myOleDbCommand.Parameters.Add(file.LastWriteTime.ToString(),OleDbType.DBTimeStamp);
myOleDbCommand.Parameters.Add(file.FullName,OleDbType.VarChar);
myOleDbCommand.Parameters.Add(Key,OleDbType.VarChar);
上記の方法で、ExecuteNonQuery を実行すると、以下のエラーが発生しました。
パラメータ [0] '' não tem valor padrão. 翻訳: パラメータ [0] には標準値がありません。
Parametro [1] '' não tem valor padrão.
Parametro [2] '' não tem valor padrão.
以下の方法も試してみましたが、パラメータを設定しようとするとエラーが発生しました。
myOleDbCommand.Parameters.Add(file.LastWriteTime);
myOleDbCommand.Parameters.Add(file.FullName);
myOleDbCommand.Parameters.Add(Key);
OleDbParameterCollection は、OleDbParameter の新しいオブジェクトであり、DateTime のオブジェクトではありません。
翻訳: OleDbParameterCollection は、OleDbParameter 型の null 以外のオブジェクトのみを受け入れます。DateTime 型のオブジェクトを受け入れないでください。