java - Android Studio Sqlite 数据库
问题描述
public class DatabaseHelper extends SQLiteOpenHelper{
public static final String DATABASE_NAME = "Register.db";
public static final String TABLE_NAME = "particulars_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "Email";
public static final String COL_3 = "Username";
public static final String COL_4 = "Password";
public DatabaseHelper(Context context){
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//db.execSQL("CREATE TABLE IF NOT EXISTS" + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT,EMAIL TEXT,USERNAME TEXT,PASSWORD TEXT)");
db.execSQL("CREATE TABLE IF NOT EXISTS (ID INTEGER PRIMARY KEY AUTOINCREMENT,Email VARCHAR, Username VARCHAR,Password VARCHAR);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
public boolean insertData(String Email, String Username, String Password){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,Email);
contentValues.put(COL_3,Username);
contentValues.put(COL_4,Password);
long result = db.insert(TABLE_NAME,null,contentValues);
if(result == -1)
return false;
else
return true;
}
}
我的项目中有这段代码,但我似乎无法将表放到我的数据库中。当我在开发人员文件资源管理器中检查我的数据库时,该数据库已创建。我的代码有什么问题会阻止它创建表并接受我的程序输入以保存详细信息吗?
解决方案
db.execSQL("CREATE TABLE IF NOT EXISTS (ID INTEGER PRIMARY KEY AUTOINCREMENT,Email VARCHAR, Username VARCHAR,Password VARCHAR);"); }
在此查询中未指定表名。这可能是该表未创建的原因。
推荐阅读
- javascript - 从 JavaScript 对象生成列表
- php - 为什么它会生成文件但它没有将数据放入
- vb.net - 如何捕获 vb .net 中的错误?
- excel - 如何比较同一工作簿中 2 个 excel 工作表中的值,然后返回特定值
- java - 如何在 Android 应用上提出一系列问题并重复使用相同的片段和布局?
- stack-overflow - labview 异常:从 LAN 中的共享文件夹加载项目时堆栈溢出
- java - 替换不同子字符串前后的子字符串
- maven - 正确阅读外部属性
- ios - 在 iOS 13 的 UIScrollView 中设置 UIRefreshControl
- javascript - 在 JavaScript 中使用自定义错误而不是字符串的充分理由是什么?