1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Prepared Statement Delete Row

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Spikor, 01.05.2010.

  1. Spikor, 01.05.2010 #1
    Spikor

    Spikor Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    30.04.2010
    Hallo,

    ich bekomme kein Prepared Statement hin um eine Row in meiner DB zu löschen. Vieleicht kann mir einer helfen.

    So sieht der Code aus mal ohne try/catch, welcher abstürzt.

    public void loescheInhalt(String inhalt) {

    SQLiteStatement statement = myDataBase.compileStatement("DELETE FROM " + "gemerkte" + " WHERE value = (?)");
    statement.bindString(1, inhalt);
    statement.execute();
    statement.close();

    }

    Danke schon mal!

    Gruß Ray
     
  2. Raidri, 01.05.2010 #2
    Raidri

    Raidri Android-Hilfe.de Mitglied

    Beiträge:
    71
    Erhaltene Danke:
    1
    Registriert seit:
    27.03.2010
    Habe mit dem Android SQLLite zwar noch nicht gearbeitet, aber ich glaube die runden Klammern bei dem ? sind nicht richtig, da müssen doch bei nem String ' hin

    hier:

    SQLiteStatement statement = myDataBase.compileStatement("DELETE FROM " + "gemerkte" + " WHERE value = '?'");

    Hoffe, das ist die Lösung

    Gruß
    Raidri
     
  3. Spikor, 01.05.2010 #3
    Spikor

    Spikor Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    30.04.2010
    Danke für die Antwort, doch leider funktioniert es auch nicht.
    :confused:

    Gruß Ray
     
  4. Shinigami, 01.05.2010 #4
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Hi,

    bitte mal Hochkommas und Klammern weglassen um dem ?

    Ansonsten das Stmt wie gewohnt aufbauen, also: "DELETE FROM table_name WHERE col_name = ?"

    Gruß,
    Shini
     
  5. Spikor, 02.05.2010 #5
    Spikor

    Spikor Threadstarter Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    30.04.2010
    Danke nochmals ich habs jetzt etwas umgebaut und nun funktioniert es so:

    Löschanweisung:

    myDataBase.delete("Tabellenname", "_id=" + zuLoeschenderInhalt, null);


    die id frage ich ab durch:


    Cursor ratingInhalt = myDataBase.query(false, "Tabellenname",
    new String[] { "_id", "titel","rating" }, "Deftitel = ?",
    new String[] { bewertet}, null, null, null, null);

    while (ratingInhalt.moveToNext()) {
    spaltenId = ratingInhalt.getLong(0);
    }
     

Diese Seite empfehlen