問題是如何顯示來自用戶標識的數據。如何更新和刪除SQLiteOPENHELPER中MainActivity中的表格數據
我創建了一個數據庫的學生與字段名稱,姓氏,標記和我沒有插入和查看Sucesfully,但我不知道如何做更新和刪除請幫助。在這裏,我想基於ID我做了一個更新coading在DAbaseclas但是當我要在MainActivity宣佈我得到一個錯誤在這裏,我附上圖片
我的數據庫處理器類
public class DatabaseHandler extends SQLiteOpenHelper {
private static final String DATABASE_NAME="students.db";
private static final String TABLE_NAME="student_table";
private static final String COL_1="ID";
private static final String COL_2="NAME";
private static final String COL_3="SURNAME";
private static final String COL_4="MARKS";
private static final int DATABASE_VERSION=1;
public DatabaseHandler(Context context) {
super(context,DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER)");
Log.d("oncreate","Table Was Created"); }@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXIST " + TABLE_NAME);
onCreate(db);
}
public boolean insertdata(String name,String surname,String marks)
{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues contentValues= new ContentValues();
contentValues.put(COL_2,name);
contentValues.put(COL_3,surname);
contentValues.put(COL_4,marks);
long result=db.insert(TABLE_NAME,null,contentValues);
if (result==-1)
return false;
else
return true;
}
public Cursor getalldata(){
SQLiteDatabase db=this.getReadableDatabase();
Cursor res=db.rawQuery("SELECT * FROM " +TABLE_NAME,null);
return res;
}public int Update(int id,String Name,String surname,string marks){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues contentValues= new ContentValues();
contentValues.put(COL_2,name);
contentValues.put(COL_3,surname);
contentValues.put(COL_4,marks);return db.update(TABLENAME, contentValues,"ID=?",new String[] {id});}
你'update'方法需要4個參數和你逝去的只有3個,約'id'你是不是通過什麼在數據庫處理程序'update'方法 –
? – Karthick
是在你的形象,錯誤是因爲你沒有通過所需的參數 –