Hello Guys
I am working with DataPoint variable and my problem is being when I need to create a method ( function ) that can result a dataPoint.
I created a method this way:
public DataPoint[] GeraGraficoEstudoMes(String Situacao, String idTema){
int i=0;
String wSql = " SELECT strftime(''%d'',data) AS DIA, Count(1) AS TOTAL_ACERTO FROM CRTGRAFICOESTUDO " +
" WHERE ACERTOU='" + Situacao + "'" +
" AND strftime(''%Y'',data)=strftime(''%Y'',''now'') " +
" AND strftime(''%m'',data)=strftime(''%m'',''now'') ";
if (!idTema.isEmpty()) {
wSql = wSql + " AND TAB_TEMA_ID=" + idTema;
}
wSql = wSql + " GROUP BY strftime(''%d'',data) ";
wSql = wSql + " ORDER BY strftime(''%d'',data) ";
openDataBase();
Cursor cs = mSQSqLiteDatabase.rawQuery(wSql, null);
DataPoint[] points = new DataPoint[cs.getCount()];
if (cs.getCount() > 0) {
if (cs.moveToFirst()) {
while (!cs.isAfterLast()) {
points[i] = new DataPoint(cs.getInt(0), cs.getInt(1));
cs.moveToNext();
}
}
}
cs.close();
closeDataBase();
return points;
}
Open in new window
something is wrong when I try to get the result, that way:
DataPoint[] points1 = DB.GeraGraficoEstudoMes("A
", "");
I am not sure how to work around with that, I am newbier in Java and Android studio
I appreciate a lot your help with some simple example
Regards
Alex
p.s. your SQL string building allows a SQL injection attack.