Windows フォームをフロント エンドとして、Oracle 11g Express をバック エンドとして、Visual Studio 2010 Ultimate で更新アクションを実行しようとしています。これをコーディングするために C# を使用しています。
private void update_student(string STUDENT_ID, string STUDENT_NAME, string STUDENT_ADDRESS)
{
con.Open();
String sql = "UPDATE STUDENT SET STUDENT_NAME = :STUDENT_NAME, STUDENT_ADDRESS= :STUDENT_ADDRESS WHERE STUDENT_ID= :STUDENT_ID";
OracleCommand query = new OracleCommand(sql, con);
OracleParameter[] updatestud = new OracleParameter[3];
updatestud[0] = query.Parameters.Add("STUDENT_ID", OracleDbType.Varchar2, STUDENT_ID, ParameterDirection.Input);
updatestud[1] = query.Parameters.Add("STUDENT_NAME", OracleDbType.Varchar2, STUDENT_NAME, ParameterDirection.Input);
updatestud[2] = query.Parameters.Add("STUDENT_ADDRESS", OracleDbType.Varchar2, STUDENT_ADDRESS, ParameterDirection.Input);
query.ExecuteNonQuery();
MessageBox.Show("Row Updated");
con.Close();
}
挿入および取得アクションを実行した後、更新クエリを試しています。
アプリケーションで使用した次のコードのパラメーターと値の流れを理解できませんでした。query.ExecuteNonQuery();
行に次のエラーが表示されます。
ORA-01722: 番号が無効です
どんな助けでも本当に感謝します。