gpt4 book ai didi

android - sqlite查询错误,android

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:39 25 4
gpt4 key购买 nike

我得到了这段代码,它在我的数据库上启动了一个查询:

public List<Photo> getPhotos(Calendar from, Calendar to) {
// Check if the Connection to the DB is open
raiseConnectionExceptionIfNotConnected();

ArrayList<Photo> photos = new ArrayList<Photo>();
// Query the database
Cursor cur = db.rawQuery(
"SELECT " + Day_TABLE + "." + DAY_PHOTO +
" FROM " + Day_TABLE +
" WHERE " + Day_TABLE + "." + DAY_DATE + " BETWEEN =? AND =? " +
" AND " + Day_TABLE + "." + DAY_PHOTO + " IS NOT NULL " +
" ORDER BY " + Day_TABLE + "." + DAY_DATE + " DESC",
new String[] {date_format.format(from.getTime()),
date_format.format(to.getTime()) }
);

if (cur.moveToFirst()) {
do {
photos.add(new Photo(cur.getString(0)));
}
while (cur.moveToNext());
}

cur.close();
return photos;
}

但每次我的 Activity 调用它时,我都会收到此错误:

06-30 17:09:46.488: E/AndroidRuntime(273): FATAL EXCEPTION: main 06-30 17:09:46.488: E/AndroidRuntime(273): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.github.groupENIGMA.journalEgocentrique/com.github.groupENIGMA.journalEgocentrique.GalleryActivity}: android.database.sqlite.SQLiteException: near "=": syntax error: , while compiling: SELECT day.photo FROM day WHERE ( day.date BETWEEN =? AND =? ) ( AND day.photo IS NOT NULL ) ORDER BY day.date DESC

我不明白问题可能是什么。查询对我来说似乎没问题......

最佳答案

在使用 BETWEEN 时不应使用 = 运算符。

正确的语法是

BETWEEN ? AND ? 

关于android - sqlite查询错误,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com