1

これがselect、fromなどを使用する正しい方法であるかどうか、および私の条件が正しいかどうかを尋ねたいだけです:

private Cursor delete(){
        calendarData = new CalendarData(this);
        SQLiteDatabase db = calendarData.getWritableDatabase();
        String mySQL = " select"+ _ID+ "from " + TABLE_NAME + "where" + _ID + "==" + deleteAnAppointment.getText().toString();
        Cursor idToDelete = db.rawQuery(mySQL, null);
        startManagingCursor(idToDelete);
        return idToDelete;
    }

    private void selectToDelete(Cursor cursor){
        calendarData = new CalendarData(this);
        SQLiteDatabase db = calendarData.getWritableDatabase();
        if(cursor.getCount() > 0){
            db.delete(TABLE_NAME, _ID+" = "+deleteAnAppointment.getText().toString(), null);
        }

    }

とにかく結果が得られませんが、SQLをフォーマットする正しい方法かどうかを確認したいだけです、ありがとう

4

1 に答える 1

2

いいえ、クエリに誤りがあります。

これを変える:

String mySQL = " select"+ _ID+ "from " + TABLE_NAME + "where" + _ID + "==" +
      deleteAnAppointment.getText().toString();
Cursor idToDelete = db.rawQuery(mySQL, null);

これに:

String mySQL = "SELECT "+ _ID+ " FROM " + TABLE_NAME + " WHERE " + _ID + " = ?";
Cursor idToDelete = db.rawQuery(mySQL, 
     new String[]{deleteAnAppointment.getText().toString()});
于 2012-04-25T20:08:10.567 に答える