2016-12-14 27 views
0

テーブルを作成できません。データベースが作成され、行を挿入することもできますが、テーブルは作成されません。できません。androidのsqliteデータベースにテーブルを作成できません。

public class DatabaseOperations extends SQLiteOpenHelper { 

public static final int Database_version = 2; 

public static final String Tag = DatabaseOperations.class.getSimpleName(); 

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 "+ ");"; 

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; 
} 
} 
+1

あなたのsql staementに間違いがあります。 ";);"; '。最初の ';を削除してください – Aelop

+0

私はそれが問題だとは思わない。最初のセミコロンは、SQLステートメントの終わりを示すためにあります。 –

+0

';'はSQLite文で**無用**です(複数の文は処理されないため)**、有害ではありません**。 –

答えて

0

あなたはUSER PASS型でカンマが足りません。アプリケーションをアンインストールし、テーブル構造が変更されたため、新しいものをsqliteデータベースに追加するたびに再度インストールしてください。新しいアプリケーションを再インストールする必要があります。

コードが "CREATE TABLE" を+ TableData.TableInfo.TABLE_NAME + "(" + TableData.TableInfo.USER_ID + "INTEGER PRIMARY KEY、" + =この

プライベート静的最終的な文字列SQL_CREATE_ENTRIESようにする必要があります TableData.TableInfo.USER_PASS + "TEXT、" + "、" + TableData.TableInfo.USER_EMAIL + "TEXT" + ")";

関連する問題