java - 我无法向 SQLite 插入数据,也看不到我的表
问题描述
我无法将数据插入 SQLite,也看不到我的表。
我尝试在 SQLite 的 DB Browser 中查看该表,但我看不到任何插入的内容,也看不到我创建的行。
这里来自 DataBaseHelper 的插入方法:
//Adding new trainee
public void addTrainee(Trainee trainee) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
int count = getShopsCount();
values.put(COL_ID, 1);
values.put(COL_USERNAME, trainee.getUsername());
values.put(COL_NAME, trainee.getName());
values.put(COL_PASS, trainee.getPassword());
values.put(COL_EMAIL, trainee.getEmail());
// Inserting Row
db.insert(TABLE_NAME, null, values);
db.close();// Closing database connection
}
// Getting shops Count
public int getShopsCount() {
String countQuery = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}
在此处插入主要活动的注册:
public void confirminput(View v) {
//If one of the validate retuen false the validation faild.
if ( !validateEmail() || !validateUsername() || !validateName() || !validatePassword()) {
Toast.makeText(getApplicationContext(), " Validation NOT OK", Toast.LENGTH_LONG).show();
return;
}
//Inserting Trainee.
Trainee trainee = new Trainee();
trainee.setUsername(textInputUsername.getEditText().getText().toString().trim();
trainee.setName(textInputName.getEditText().getText().toString().trim());
trainee.setEmail(textInputEmail.getEditText().getText().toString().trim());
trainee.setPassword(textInputPassword.getEditText().getText().toString().trim();
//Insert Method data .
myDb.addTrainee(trainee);
}
创建():
//onCreat
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE "+ TABLE_NAME + "("
+ COL_ID + " INTEGER PRIMARY KEY," + COL_USERNAME + " TEXT,"
+ COL_NAME + " TEXT," + COL_PASS + " TEXT," +COL_EMAIL + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
this.db = db;
}
解决方案
感谢您帮助问题是创建错误的表
@Override
public void onCreate(SQLiteDatabase db) {
String createTraineeTable = "create table trainee ("+COL_ID+" integer primary key AUTOINCREMENT ," +
COL_USERNAME+" text not null, "+COL_NAME+" text not null, "+COL_PASS+" text not null,"+COL_EMAIL+" text not null );";
db.execSQL(createTraineeTable);
this.db = db;
}
推荐阅读
- html - 如何将文本移动到 CSS 中复选框的右侧?
- r - R:包含非日期类条目的日期列
- amazon-web-services - AWS Athena + S3 限制
- listview - Xamarin 表单:ListView 项目未在 UWP 中第二次触发
- javascript - 带有对象方法的javascript范围
- python - Tensorflow tf.train.Saver 不保存所有变量
- c++ - 如何将自定义数据类型添加到 tensorflow?
- mysql - 如何计算成员数,使用别名在分组表中输出结果?
- python - 解析嵌套模板
- r - 如何在 ggplot 中使用 cut_width 和 quasiquotation?