ChristopheCVB
ChristopheCVB

Reputation: 7315

Android SQLite Inserting Data

I'm trying to insert some data in my Android SQLite freshly created Database with this piece of code but it is'nt working.

Here is the error :

10-19 19:05:39.793: INFO/Database(413): sqlite returned: error code = 1, msg = near ",": syntax error

I know that the code need a clean but I'll do that later...^^

Here is the code :

SQLiteDatabase db = this.sqlHelper.getWritableDatabase();
ContentValues dv = new ContentValues();
dv.put("`createdTime`", h.createdTime);
dv.put("`type`", h.type);
dv.put("`what`", h.what);
dv.put("`where`", h.where);
dv.put("`readableWhat`", h.readableWhat);
dv.put("`readableWhere`", h.readableWhere);
dv.put("`accuracy`", h.accuracy);
dv.put("`isMnemo`", h.isMnemo);
dv.put("`isPlaceCode`", h.isPlaceCode);
dv.put("`isCoords`", h.isCoords);
dv.put("`isNear`", h.isNear);
dv.put("`isEverywhere`", h.isEverywhere);

Cursor c = db.query("HISTORY",
        new String[]{
                "`type`",
                "`what`",
                "`where`",
                "`readableWhat`",
                "`readableWhere`",
                "`accuracy`",
                "`isMnemo`",
                "`isPlaceCode`",
                "`isCoords`",
                "`isNear`",
                "`isEverywhere`",
        },
        "`type`='" + h.type + "'" + "," +
        "`what`='" + h.what + "'" + "," +
        "`where`='" + h.where + "'" + "," +
        "`readableWhat`='" + h.readableWhat + "'" + "," +
        "`readableWhere`='" + h.readableWhere + "'" + "," +
        "`accuracy`='" + h.accuracy  +"'" + "," +
        "`isMnemo`='" + h.isMnemo + "'" + "," +
        "`isPlaceCode`='" + h.isPlaceCode + "'" + "," +
        "`isCoords`='" + h.isCoords + "'" + "," +
        "`isNear`='" + h.isNear + "'" + "," +
        "`isEverywhere`='" + h.isEverywhere + "'"
        ,
        null, null, null, null);
if (!c.moveToFirst())
{
    PJUtils.log("INSERT " + h.readableWhat + " - " + h.readableWhere);
    db.insertOrThrow("HISTORY", "", dv);
}
else
{
    PJUtils.log("UPDATE " + h.readableWhat + " - " + h.readableWhere);
    db.update("CONFIG",
        dv,
        "`type`='" + h.type + "'" + "," +
        "`what`='" + h.what + "'" + "," +
        "`where`='" + h.where + "'" + "," +
        "`readableWhat`='" + h.readableWhat + "'" + "," +
        "`readableWhere`='" + h.readableWhere + "'" + "," +
        "`accuracy`='" + h.accuracy  +"'" + "," +
        "`isMnemo`='" + h.isMnemo + "'" + "," +
        "`isPlaceCode`='" + h.isPlaceCode + "'" + "," +
        "`isCoords`='" + h.isCoords + "'" + "," +
        "`isNear`='" + h.isNear + "'" + "," +
        "`isEverywhere`='" + h.isEverywhere + "'"
        ,
        null);
}
c.close();

Upvotes: 0

Views: 284

Answers (2)

nomachinez
nomachinez

Reputation: 521

Try this for your query:

            String[] columns = new String[]{
                "type",
                "what",
                "where",
                "readableWhat",
                "readableWhere",
                "accuracy",
                "isMnemo",
                "isPlaceCode",
                "isCoords",
                "isNear",
                "isEverywhere" };
        String selection = "type=? AND what=? AND where=? AND readableWhat=? AND readableWhere=? AND accuracy=? AND isMnemo=? AND isPlaceCode=? AND isCoords=? AND isNear=? AND isEverywhere=?";
        String[] selectionArgs = new String[]{
                h.type,
                h.what,
                h.where,
                h.readableWhat,
                h.readableWhere,
                h.accuracy,
                h.isMnemo,
                h.isPlaceCode,
                h.isCoords,
                h.isNear,
                h.isEverywhere
        };
        Cursor c = db.query("HISTORY", columns, selection, selectionArgs, null, null, null);

Upvotes: 0

Daniel Fekete
Daniel Fekete

Reputation: 5028

Instead of

+ "," +

use

+ " and " +

Upvotes: 2

Related Questions