-1

私は学生で、Android と Sqlite データベースは初めてです。

sqlite データベースのデータを更新しようとしましたが、データを更新するために多くの方法を試しましたが、多くの調査の結果、ID である Update クラスにエラーが発生しました。エラー:(92, 35) エラー: シンボル変数 ID のエラー メッセージが見つかりません

私のコードをチェックして、間違いがどこにあるかを教えてください。ありがとうございました。

データベースヘルパー クラス:

 public boolean updateData(long id, String new_question, String new_ans1, String new_ans2, String new_ans3, String new_ans4, SQLiteDatabase sqLiteDatabase )
    {
    ContentValues contentValues = new ContentValues();

        contentValues.put(AdminContact.Question.COLUMN_QUESTION, new_question);
        contentValues.put(AdminContact.Question.COLUMN_ANSWER1, new_ans1);
        contentValues.put(AdminContact.Question.COLUMN_ANSWER2, new_ans2);
        contentValues.put(AdminContact.Question.COLUMN_ANSWER3, new_ans3);
        contentValues.put(AdminContact.Question.COLUMN_ANSWER4, new_ans4);

       // String selection = AdminContact.Question.TABLE_QUIZ + " LIKE ?";
        //String[] selection_arg = {new_question};
       sqLiteDatabase.update(AdminContact.Question.TABLE_QUIZ, contentValues, AdminContact.Question.ID + "=" + id, null);
        return i > 0;

    }

This is my Create Table:

 private static final String CREATE_QUERY = "CREATE TABLE "+ AdminContact.Question.TABLE_QUIZ+"("+ AdminContact.Question.ID+" INTEGER PRIMARY KEY NOT NULL,"+ AdminContact.Question.COLUMN_QUESTION+" TEXT NOT NULL,"+
            AdminContact.Question.COLUMN_ANSWER1+" TEXT NOT NULL,"+ AdminContact.Question.COLUMN_ANSWER2+" TEXT NOT NULL,"+ AdminContact.Question.COLUMN_ANSWER3+" TEXT NOT NULL,"+ AdminContact.Question.COLUMN_ANSWER4+" TEXT NOT NULL);";


And my Update class:

 public void updateData(View view)
    {
    helper = new DatabaseHelper(this);
        sqLiteDatabase = helper.getWritableDatabase();

        String question, ans1, ans2, ans3, ans4;

        question = New_Question.getText().toString();
        ans1 = New_Ans1.getText().toString();
        ans2 = New_Ans2.getText().toString();
        ans3 = New_Ans3.getText().toString();
        ans4 = New_Ans4.getText().toString();
        helper.updateData(id,question,ans1,ans2,ans3,ans4,sqLiteDatabase);
        Toast.makeText(getApplicationContext()," Successfully Updated", Toast.LENGTH_LONG).show();
        finish();

    }
4

1 に答える 1

0

Update クラスの updateData(View view) メソッドでは、次の行で id を参照していますが、このクラスでは定義されていません。 helper.updateData(id,question,ans1,ans2,ans3,ans4,sqLiteDatabase);

于 2016-01-06T22:40:50.657 に答える