3 回答
TA贡献2041条经验 获得超4个赞
它不会给我任何错误报告
您应该使用尝试并捕获块来查看正在发生的事情。
try{
boolean add_data = myDb.insertData(name,birth,area,receiver);
Toast.makeText(MainActivity.this,"Success to add data!", Toast.LENGTH_LONG).show();
}catch(Exception e){
e.printStackTrace();
}
TA贡献1829条经验 获得超9个赞
该方法的第一个参数是列的名称,但您传递的值。
更改为以下内容(当然,请替换为列名称,如 、等):put()"Name""Birthdate"
public boolean insertData(String Name,String Birthdate,String Area, String ID){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(ColunNameForName, Name);
contentValues.put(ColunNameForBirthdate, Birthdate);
contentValues.put(ColunNameForArea, Area);
contentValues.put(ColunNameForID, ID);
long result = db.insert(TABLE_NAME, null, contentValues);
if(result == -1){
return false;
}
else{
return true;
}
}
TA贡献1784条经验 获得超2个赞
您的数据库助手类是否具有执行 SQL 命令的 SQLite 数据库对象。
SQLiteDatabase database
String myTable = ("CREATE TABLE IF NOT EXISTS myTable (yourColumns);");
database.execSQL(myTable);
database.execSQL("INSERT INTO myTable(yourData);"
添加回答
举报