2016-12-14 3 views
1

публичные статические финальные ИНТ Database_version = 2 частные статические финальные Струнные SQL_CREATE_ENTRIES = "CREATE TABLE" + TableData.TableInfo.TABLE_NAME + "(" + TableData.TableInfo.USER_ID + "INTEGER PRIMARY KEY," + TableData.TableInfo.USER_PASS + "TEXT" + "," + TableData.TableInfo.USER_EMAIL + "TEXT" + ")";создана база данных, но таблица не может быть найден Android SQLite

public DatabaseOperations(Context context) { 
    super(context, TableData.TableInfo.DATABASE_NAME, null, Database_version); 
    Log.d("Tag", "Database created"); 
}; 
@Override 
public void onCreate(SQLiteDatabase sdb) { 
    sdb.execSQL(SQL_CREATE_ENTRIES); 
    Log.d("Tag", "Table created"); 

} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

} 

public void putInformation(DatabaseOperations drop, String name, String pass, String email) { 
    SQLiteDatabase SQ = drop.getWritableDatabase(); 
    ContentValues cv = new ContentValues(); 
    cv.put(TableData.TableInfo.USER_ID, name); 
    cv.put(TableData.TableInfo.USER_PASS, pass); 
    cv.put(TableData.TableInfo.USER_EMAIL, email); 
    long k = SQ.insert(TableData.TableInfo.TABLE_NAME, null, cv); 
    Log.d("Tag", "inert a row"); 
} 

public Cursor getInformation(DatabaseOperations dop) { 
    SQLiteDatabase SQ = dop.getReadableDatabase(); 
    String[] coloumns = {TableData.TableInfo.USER_ID, TableData.TableInfo.USER_PASS, TableData.TableInfo.USER_EMAIL}; 
    Cursor CR = SQ.query(TableData.TableInfo.TABLE_NAME, coloumns, null, null, null, null, null); 
    return CR; 
} 

}

+0

следовать этому https://www.tutorialspoint.com/android/android_sqlite_database.htm – Tauqir

ответ

1

Я считаю, что вы пропустили точку с запятой внутри кавычек в конце (после закрывающей скобки). Edit: Также есть пробел перед открытой скобкой. Я не думаю, что это должно быть. После запятой после «INTEGER PRIMARY KEY» пробела нет. Между «ТЕКСТ» и запятой есть «USER_PASS». Наконец, я не думаю, что вам нужно последнее место после «ТЕКСТА» для «USER_EMAIL».

В создании базы данных много чего происходит, и SQLite не имеет толерантности к опечаткам (и не дает большого указания на то, что ему не нравится). Надеюсь, я нашел все опечатки в этом. Вот какой код попробовать (и, надеюсь, я не добавлял свои собственные опечатки).

public static final int Database_version = 2 
private static final String SQL_CREATE_ENTRIES = "CREATE TABLE " + 
     TableData.TableInfo.TABLE_NAME + 
     "(" + 
     TableData.TableInfo.USER_ID + " INTEGER PRIMARY KEY, " + 
     TableData.TableInfo.USER_PASS + " TEXT, "+ 
     TableData.TableInfo.USER_EMAIL + " TEXT"+ 
     ");"; 
+0

Спасибо, но до сих пор он не работает – Mohammad

+0

я сделал несколько изменений. Попробуйте, чтобы они видели, работают ли они на вас. – Gary99

Смежные вопросы