0

エラー再び

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[0] = query.Parameters.Add("STUDENT_ID", OracleDbType.Int32, 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: 無効な番号 Oracle タイプを確認するための提案を受け取りました。しかし、修正にもかかわらず、同じエラーが見つかりました。Oracle 型を修正した後でも、同じエラーが見つかります。助言がありますか?

4

0 に答える 0