2012-03-20 38 views
2

有人可以解释删除的实际工作原理,因为文档没有提供足够的帮助。我想要做的是从我的表中删除所有行,其中的日期与我在删除方法中提供的日期相匹配。适用于Android的SQLite删除

这是我已经试过:

SQLiteDatabase db = appts.getWritableDatabase(); 

    String whereclause = "WHERE DATE = "; 

    long seldate = calendar.getDate()/1000; 
    String datestodelete = new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date (seldate*1000)); 

    db.delete(TABLE_NAME, whereclause, datestodelete); 

但它说接受该方法字符串字符串字符串心不是,我会放什么呢?

回答

8

第三参数应该是String[]型的,而不是String

public int delete (String table, String whereClause, String[] whereArgs) 

tablewhereClause,和whereArgs应如下格式化:

table = "table_name"; 
whereClause = "col1 = ? AND col2 = ?"; 
whereArgs = new String[] { date1, date2 }; 

换句话说,在值String[]将取代您的whereClause中的?。另外请注意,您应该在whereClause开头忽略WHERE(当Android执行删除操作时,会自动添加)。

+0

正如我所说我已阅读此内容,但它并不清楚。我知道在哪里把我的表名称,但我不知道如何形成我的whereClause或什么意思通过要求字符串[] – nexus490 2012-03-20 03:16:37

+0

刚刚编辑我的帖子,希望更清楚 – 2012-03-20 03:22:49

+0

好吧,到达那里慢慢,字符串[ ]为这种方法服务? – nexus490 2012-03-20 03:26:02