我的应用需要从sqlite中搜索数据。与字段DATESTARt中的日期一样,然后将其与当前日期进行比较,然后如果日期等于当前日期则会发出警告。
请帮帮我。
答案 0 :(得分:1)
假设您已经制作并设置了sqlite数据库,那么您将需要查询数据库表,这会返回游标对象。希望这样的事情可以给你一个想法,我会尝试尽可能明确地一步一步地走下去:
public SQLiteDatabase db;
public static final String[] COLUMN_DATESTARt = null;
public static final String TABLE_NAME = null;
private String [] dates;
private void compareDates() {
Cursor dateCursor = db.query(TABLE_NAME, COLUMN_DATESTARt, null, null, null, null, null);
dateCursor.moveToFirst();
String dates = dateCursor.getString(1);
dateCursor.close();
}
这里,任意SQLiteDatabase对象名是db。 .query方法有很多参数,但第一个是表名,第二个是列名的字符串数组。 (在这里放置null将给出所有列,如果你只需要一个列就浪费了)。这里引用它们作为现在具有空值的字符串常量。
这只是几种查询方法中的一种,这就是eclipse对参数的解释(释义):
表名,列名列表,选择 - 过滤器声明要返回的行,选择参数 - (我不知道这是什么:P),groupBy - 如何对行进行分组,具有 - 这就像一个行的选择过滤器" groupBy",orderBy - 如何订购行
传递null通常只会获取所有内容,可能不是表名。
现在。光标按行移动。它可以移动到第一个,最后一个,下一个,一个特定的位置,偏移,w.e。因此,如果必须,您可以在循环中做很多事情,但为了简单起见,这只会检查第一行。接下来,它获取特定列索引的值(这里假设第一列)并将其以字符串格式放入名为dates的字符串数组中。拥有一个只有一个值的字符串数组有点傻,但这只是一个例子。最后,你必须在完成后关闭光标。
现在,您可以使用字符串数组来执行您需要的操作。希望它应该有所帮助。这是一个很棒的教程:http://www.vogella.com/articles/AndroidSQLite/article.html#sqliteoverview_sqliteopenhelper
不管你信不信,Android开发者页面就是你可以理解它的全部内容:http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
我很乐意帮忙,让我知道它是如何运作的。