SQLite 데이터베이스에서 열을 찾을 수 없습니다.

하워드 오이

_id라는 열 이름을 다시 작성했지만 getAllRows()메서드 를 사용하여 ListView에서 데이터베이스를 실행하고 볼 때라 는 오류가 표시 (no such column: _id (code 1): , while compiling: SELECT DISTINCT _id, eventTitle, date, destination, durationTime, alarmTime FROM Event.)됩니다.
아래는 내 코드와 내 오류 메시지입니다.
저를 도와 주시고 제 코드가 어떻게되는지 가르쳐주세요.

public class DBHandler{

private static final String TAG = "DBHandler";

//Field Names
public static final String COLUMN_ID = "_id";
public static final String COLUMN_EVENTTITLE = "eventTitle";
public static final String COLUMN_Date = "date";
public static final String COLUMN_DESTINATION = "destination";
public static final String COLUMN_DURATION = "durationTime";
public static final String COLUMN_ALARMTIME = "alarmTime";
public static final String[] ALL_KEYS = new String[]{COLUMN_ID, COLUMN_EVENTTITLE, COLUMN_Date, COLUMN_DESTINATION, COLUMN_DURATION,COLUMN_ALARMTIME};

//Column Number for each Field Name:
public static final int COL_ID = 0;
public static final int COL_EventTITLE = 1;
public static final int COL_DATE = 2;
public static final int COL_DESTINATION = 3;
public static final int COL_DURATION = 4;
public static final int COL_ALARMTIME = 5;

//Database Info:
private static final int DATABASE_VERSION = 2;
private static final String DATABASE_NAME = "SP";
public static final String TABLE_EVENT = "Event";


//SQL Statament to create database
private static final String DATABASE_CREATE_SQL =
        "CREATE TABLE " + TABLE_EVENT + "(" +
        COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        COLUMN_EVENTTITLE + " TEXT NOT NULL, " +
        COLUMN_Date + " TEXT NOT NULL, " +
        COLUMN_DESTINATION + " TEXT NOT NULL, " +
        COLUMN_DURATION + " TEXT NOT NULL, " +
        COLUMN_ALARMTIME + " TEXT NOT NULL" +
        ");";

private final Context context;
private DatabaseHelper myDBHelper;
private SQLiteDatabase db;


public DBHandler(Context ctx){
    this.context = ctx;
    myDBHelper = new DatabaseHelper(context);
}

public DBHandler open(){
    db = myDBHelper.getWritableDatabase();
    return this;
}

public void close(){
    myDBHelper.close();
}


public long insertEvent(String eventtitle, String date, String destination, String duration, String alarmtime){
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_EVENTTITLE, eventtitle);
    contentValues.put(COLUMN_Date, date);
    contentValues.put(COLUMN_DESTINATION, destination);
    contentValues.put(COLUMN_DURATION, duration);
    contentValues.put(COLUMN_ALARMTIME, alarmtime);

    //Insert data into database
    return db.insert(TABLE_EVENT, null, contentValues);

}

//Delete a row from the database, by rowid (primary key)
public boolean deleteRow(long rowId){
    String where = COLUMN_ID + "=" + rowId;
    return db.delete(TABLE_EVENT, where, null) != 0;
}

//return all data in database
public Cursor getAllRows(){
    String where = null;
    Cursor c = db.query(true, TABLE_EVENT, ALL_KEYS, where, null, null, null,null, null);
    if(c != null){
        c.moveToFirst();
    }
    return c;
}

//Get a specific row(by rowID)
public Cursor getRow(long rowId){
    String where = COLUMN_ID + "=" + rowId;
    Cursor c = db.query(true, TABLE_EVENT, ALL_KEYS, where, null, null, null, null, null);
    if(c != null){
        c.moveToFirst();
    }
    return c;
}

//Change an existing row to be equal to new data
public boolean updateEvent(long id, String eventtitle, String date, String destination, String duration,String alarmtime ){
    String where = COLUMN_ID + "=" + id;
    ContentValues newValues = new ContentValues();
    newValues.put(COLUMN_EVENTTITLE, eventtitle);
    newValues.put(COLUMN_Date, date);
    newValues.put(COLUMN_DESTINATION, destination);
    newValues.put(COLUMN_DURATION, duration);
    newValues.put(COLUMN_ALARMTIME, alarmtime);

   return db.update(TABLE_EVENT, newValues, where, null) !=0;
}


private static class DatabaseHelper extends SQLiteOpenHelper{
    DatabaseHelper(Context context){
        super(context, TABLE_EVENT, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db){
        db.execSQL(DATABASE_CREATE_SQL);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
        Log.w(TAG, "Upgrading application's database from version" + oldVersion +
        "to" + newVersion + ", which will destroy all old data!");

        //Destroy old database:
        db.execSQL("DROP TABLE IF EXISTS" + TABLE_EVENT);

        onCreate(db);
    }
}
}

오류:

android.database.sqlite.SQLiteException: no such column: _id (code 1): , while compiling: SELECT DISTINCT _id, eventTitle, date, destination, durationTime, alarmTime FROM Event
            at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
            at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113)
            at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:690)
            at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
            at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
            at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
            at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
            at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1430)
            at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1277)
            at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1148)
            at com.howard.fyp.DBHandler.getAllRows(DBHandler.java:92)
            at com.howard.fyp.TodayActivity.populateListView(TodayActivity.java:40)
            at com.howard.fyp.TodayActivity.onCreateView(TodayActivity.java:26)
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:953)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
            at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:456)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
Phantômaxx

_id두 번째로 열 을 추가 했습니까 ?
그런 다음 메서드 를 실행하기 위해 DATABASE_VERSION 상수 값 을 늘려야합니다 onUpgrade().

그러나 귀하의 onUpgrade()방법은 이전 테이블을 파괴하지 못합니다.

db.execSQL("DROP TABLE IF EXISTS" + TABLE_EVENT);

테이블 이름 앞에 공백 이 필요합니다 .

db.execSQL("DROP TABLE IF EXISTS " + TABLE_EVENT);

또는 이전 테이블이 여전히 존재하기 때문에 새 테이블이 생성되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQLite 데이터베이스에서 읽을 수 없습니다.

분류에서Dev

내 프로그램이 Android의 sqlite 데이터베이스에서 테이블을 찾을 수 없습니다.

분류에서Dev

SQLite 데이터베이스에서 행을 삭제할 수 없습니다.

분류에서Dev

여러 프로세스에 의해 열린 데이터베이스에서 SQLite 데이터베이스 변경 사항을 볼 수 없습니다.

분류에서Dev

iOS에서 sqlite3 데이터베이스 테이블을 업데이트 할 수 없습니다.

분류에서Dev

IronPython SQLite3 OperationalError : 데이터베이스 파일을 열 수 없습니다.

분류에서Dev

SQLite 데이터베이스에서 동적으로 테이블 이름을 할당 할 수 없습니다.

분류에서Dev

iOS의 sqlite 데이터베이스에서 테이블을 삭제할 수 없습니다.

분류에서Dev

SQLite에 대해 포착되지 않은 PDOException-데이터베이스 파일을 열 수 없습니다.

분류에서Dev

UWP 앱의 로컬 데이터 저장소에서 SQLite 데이터베이스 파일을 열 수 없습니다.

분류에서Dev

DDMS에서 데이터베이스를 찾을 수 없습니다.

분류에서Dev

SQL Server Management Studio에서 데이터베이스를 찾을 수 없습니다.

분류에서Dev

SQLite 테이블에서 "데이터베이스 파일을 열 수 없습니다"라는 메시지가 나타나는 이유는 무엇입니까?

분류에서Dev

Microsoft.Data.Sqlite.SqliteException : 'SQLite 오류 14 :'데이터베이스 파일을 열 수 없습니다 '.'

분류에서Dev

오류 수정 방법 : Android Studio SQLite 데이터베이스에서 기호를 찾을 수 없음

분류에서Dev

SQLIte 데이터베이스는 항목을 삭제할 수 없습니다

분류에서Dev

데이터베이스에서 배열을 반환 할 수 없습니다.

분류에서Dev

django에서 "데이터베이스 파일을 열 수 없습니다"

분류에서Dev

Derby 데이터베이스에 테이블을 찾을 수 없습니다

분류에서Dev

데이터베이스 테이블을 만들고 iOS sqlite3에 삽입 할 수 없습니다.

분류에서Dev

SQLite 용 DB 브라우저에서 sqflite 데이터베이스 파일을 어떻게 열 수 있습니까?

분류에서Dev

PHP : 데이터베이스를 찾을 수 없습니다.

분류에서Dev

SQLite 오류 코드 : 14, '데이터베이스 파일을 열 수 없습니다'

분류에서Dev

sqlite3는 Centos, flask uwsgi nginx를 실행하는 데이터베이스 파일을 열 수 없습니다.

분류에서Dev

난처한 Django sqlite3 "데이터베이스 파일을 열 수 없습니다"오류

분류에서Dev

데이터베이스에서 행을 업데이트 할 수 없습니다.

분류에서Dev

데이터베이스 우선에서 Entity Framework 6을 사용하여 SQLite 데이터베이스 파일을 업데이트 할 수 있습니까?

분류에서Dev

QML 앱을 배포 할 때 SQLite 데이터베이스를 찾을 수 없음

분류에서Dev

QML 앱을 배포 할 때 SQLite 데이터베이스를 찾을 수 없음

Related 관련 기사

  1. 1

    SQLite 데이터베이스에서 읽을 수 없습니다.

  2. 2

    내 프로그램이 Android의 sqlite 데이터베이스에서 테이블을 찾을 수 없습니다.

  3. 3

    SQLite 데이터베이스에서 행을 삭제할 수 없습니다.

  4. 4

    여러 프로세스에 의해 열린 데이터베이스에서 SQLite 데이터베이스 변경 사항을 볼 수 없습니다.

  5. 5

    iOS에서 sqlite3 데이터베이스 테이블을 업데이트 할 수 없습니다.

  6. 6

    IronPython SQLite3 OperationalError : 데이터베이스 파일을 열 수 없습니다.

  7. 7

    SQLite 데이터베이스에서 동적으로 테이블 이름을 할당 할 수 없습니다.

  8. 8

    iOS의 sqlite 데이터베이스에서 테이블을 삭제할 수 없습니다.

  9. 9

    SQLite에 대해 포착되지 않은 PDOException-데이터베이스 파일을 열 수 없습니다.

  10. 10

    UWP 앱의 로컬 데이터 저장소에서 SQLite 데이터베이스 파일을 열 수 없습니다.

  11. 11

    DDMS에서 데이터베이스를 찾을 수 없습니다.

  12. 12

    SQL Server Management Studio에서 데이터베이스를 찾을 수 없습니다.

  13. 13

    SQLite 테이블에서 "데이터베이스 파일을 열 수 없습니다"라는 메시지가 나타나는 이유는 무엇입니까?

  14. 14

    Microsoft.Data.Sqlite.SqliteException : 'SQLite 오류 14 :'데이터베이스 파일을 열 수 없습니다 '.'

  15. 15

    오류 수정 방법 : Android Studio SQLite 데이터베이스에서 기호를 찾을 수 없음

  16. 16

    SQLIte 데이터베이스는 항목을 삭제할 수 없습니다

  17. 17

    데이터베이스에서 배열을 반환 할 수 없습니다.

  18. 18

    django에서 "데이터베이스 파일을 열 수 없습니다"

  19. 19

    Derby 데이터베이스에 테이블을 찾을 수 없습니다

  20. 20

    데이터베이스 테이블을 만들고 iOS sqlite3에 삽입 할 수 없습니다.

  21. 21

    SQLite 용 DB 브라우저에서 sqflite 데이터베이스 파일을 어떻게 열 수 있습니까?

  22. 22

    PHP : 데이터베이스를 찾을 수 없습니다.

  23. 23

    SQLite 오류 코드 : 14, '데이터베이스 파일을 열 수 없습니다'

  24. 24

    sqlite3는 Centos, flask uwsgi nginx를 실행하는 데이터베이스 파일을 열 수 없습니다.

  25. 25

    난처한 Django sqlite3 "데이터베이스 파일을 열 수 없습니다"오류

  26. 26

    데이터베이스에서 행을 업데이트 할 수 없습니다.

  27. 27

    데이터베이스 우선에서 Entity Framework 6을 사용하여 SQLite 데이터베이스 파일을 업데이트 할 수 있습니까?

  28. 28

    QML 앱을 배포 할 때 SQLite 데이터베이스를 찾을 수 없음

  29. 29

    QML 앱을 배포 할 때 SQLite 데이터베이스를 찾을 수 없음

뜨겁다태그

보관