2016-12-14 71 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 type中的逗号。卸载该应用程序并在每次向sqlite数据库添加新内容时重新安装它,因为表结构已更改。所以您需要重新安装新应用程序。

的代码应该是这样的

私有静态最后字符串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“+”)“;

相关问题