SugarORM 中的查询错误
Error with query in SugarORM
我正在尝试获取我的 Sugar 数据库中每个月的行数。我的 DATE_INSERT 是像 dd-MM-yyyy 这样的字符串值。我正在尝试设置查询,但出现错误:
android.database.sqlite.SQLiteException: near "LIKE": syntax error (code 1): , while compiling: SELECT * FROM EXERCISE_DATA WHERE DATE_INSERT LIKE
这是我的方法。我正在尝试获取每个月的列表大小并通过 GraphView 绘制它:
private DataPoint[] generateYearlyData() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH,Calendar.JANUARY);
int monthIndex = 12;
DataPoint[] values = new DataPoint[monthIndex];
for (int i=0; i < monthIndex; i++) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-yyyy");
String queryMonth = sdf.format(cal.getTime());
String completeArgs = new StringBuilder().append("'%").
append(queryMonth).append("%'").toString();
double x = i;
double y = (double) ExerciseData.findWithQuery(ExerciseData.class,
"SELECT * FROM EXERCISE_DATA WHERE DATE_INSERT LIKE",completeArgs).size();
DataPoint v = new DataPoint(x, y);
values[i] = v;
cal.add(Calendar.MONTH, 1);
}
return values;
}
findWithQuery
的第三个参数是一个参数值,或者说是一个参数值列表。这些值被插入查询字符串中标有 parameter marker.
的位置
您的查询不包含任何参数标记。你需要写 ... LIKE ?
.
我正在尝试获取我的 Sugar 数据库中每个月的行数。我的 DATE_INSERT 是像 dd-MM-yyyy 这样的字符串值。我正在尝试设置查询,但出现错误:
android.database.sqlite.SQLiteException: near "LIKE": syntax error (code 1): , while compiling: SELECT * FROM EXERCISE_DATA WHERE DATE_INSERT LIKE
这是我的方法。我正在尝试获取每个月的列表大小并通过 GraphView 绘制它:
private DataPoint[] generateYearlyData() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH,Calendar.JANUARY);
int monthIndex = 12;
DataPoint[] values = new DataPoint[monthIndex];
for (int i=0; i < monthIndex; i++) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-yyyy");
String queryMonth = sdf.format(cal.getTime());
String completeArgs = new StringBuilder().append("'%").
append(queryMonth).append("%'").toString();
double x = i;
double y = (double) ExerciseData.findWithQuery(ExerciseData.class,
"SELECT * FROM EXERCISE_DATA WHERE DATE_INSERT LIKE",completeArgs).size();
DataPoint v = new DataPoint(x, y);
values[i] = v;
cal.add(Calendar.MONTH, 1);
}
return values;
}
findWithQuery
的第三个参数是一个参数值,或者说是一个参数值列表。这些值被插入查询字符串中标有 parameter marker.
您的查询不包含任何参数标记。你需要写 ... LIKE ?
.