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);"
添加回答
舉報