2012-04-20 120 views
2

我目前正在致力于在android数据库中添加,查看和删除值,但不幸的是,这本书只包含了添加和查看部分,所以我来这里寻求帮助。从android数据库中删除一行

我有一个名为DeleteEntry的类,它输入一个变量moduleDelete,它通过类DeleteEntryViewModule。该类然后使用这个值来返回使用此showEvent()方法

private void showEvents(Cursor cursor) { 
StringBuilder builder = new StringBuilder("Saved Events:\n"); 
while (cursor.moveToNext()){ 
    long id = cursor.getLong(0); 
    String module = cursor.getString(1); 
    String day = cursor.getString(2); 
    String starttime = cursor.getString(3); 
    String duration = cursor.getString(4); 
    String typeofsession = cursor.getString(5); 
    String room = cursor.getString(6); 
    builder.append(id).append(": "); 
    builder.append(module).append(": "); 
    builder.append(day).append(": "); 
    builder.append(starttime).append(": "); 
    builder.append(duration).append(": "); 
    builder.append(typeofsession).append(": "); 
    builder.append(room).append("\n "); 
} 
TextView text = (TextView) findViewById(R.id.text); 
text.setText(builder); 
} 

我如何取值从建设者和它们放入变量,这样我就可以执行该代码行的所有值。

private void removeEvent (String module, String day, String starttime, String duration, String typeofsession, String room){ 
    try{ 
    SQLiteDatabase db = events.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put(DAY, day); 
    values.put(MODULE, module); 
    values.put(STARTTIME, starttime); 
    values.put(DURATION, duration); 
    values.put(TYPEOFSESSION, typeofsession); 
    values.put(ROOM, room); 
    db.replaceOrThrow(TABLE_NAME, null, values); 
    }catch(SQLiteException ex){ 
     Toast toast = Toast.makeText(this, "Broken", 10); 
     toast.show(); 
    } 

}

感谢

回答

0

尝试使用下面的代码,而不是db.replaceOrThrow

​​

你能解释一下为什么要使用db.replaceOrThrow?

+1

我正在按照我所做的添加一行db.insertOrThrow,但没有放弃replace,只是用null填充列。我已经插入了你的修改,并且正确地编译了所有东西,但是当我真正运行它时,抛出了一个sql异常。我调试它缩小到这个android.database.sqlite.SQLiteException:没有这样的列:CM111:,编译时:DELETE从时间表WHERE模块= CM111,但我不能看到任何错误的SQL语句? 谢谢你的帮助 – user1341620 2012-04-20 15:27:36