2017-03-07 4 views
0

Hallo dort, diese 3 "PE_ .." Ich füge die Werte zuerst bei create und diese 3 "et .._ getText(). ToString() .." bekommt die neuen Änderungen durch Benutzer. Hast du meinen Standpunkt verstanden? noch meine Anwendung nicht mehr als i-Update-Methode auf db aufrufen unter:SQLite Datenbank - Update Abfrage

controller.update_pw(PE_Desc, PE_Pass, PE_Note, etDesc.getText().toString(), etPass.getText().toString(), etNote.getText().toString()); 

Diese Methode auf meiner Datenbank mein Update:

public void update_pw(String old_description, String old_password, String old_note, String new_description, String new_password, String new_note){ 
    this.getWritableDatabase().execSQL("UPDATE PASSWALL SET PW_DESC='"+new_description+"', PW_PASS='"+new_password+"', PW_NOTE='"+new_note+"' " + 
      "WHERE PW_DESC='"+old_description+"', PW_PASS='"+old_password+"', PW_NOTE='"+old_note+"'"); 

ich auf Kommata frage mich zwischen "PW_DESC = '', PW_PASS = '', PW_NOTE = '' WO ...", ist das richtig? Brauchen Sie Hilfe, schätzen Sie Ihre Vorschläge. Vielen Dank!

Antwort

0

Sie fehlen UND in WHERE Klausel.
Die Bedingungen müssen durch einen Operator UND getrennt werden.

Bearbeitet: Eine andere Möglichkeit, Werte zu aktualisieren.

ContentValues newValues = new ContentValues(); 
newValues.put("PW_DESC", new_description); 
newValues.put("PW_PASS", new_password); 
newValues.put("PW_NOTE", new_note); 
SQLiteDatabase db=getReadableDatabase(); 
db.update("PASSWALL", newValues, "PW_DESC= '" + old_description + "' AND "+"PW_PASS= '" +old_password+ "' AND "+ "PW_NOTE= '" + old_note+ "'", null); 
+0

Ohhhkkaayy. Auch zu den Bedingungen nach SET? – APX

+0

Ich habe meine Antwort bearbeitet. –

+0

danke dort. jetzt weiß ich haha ​​ – APX

0

die Sie interessieren,

 public void update_pw(String old_description, String old_password, String old_note, String new_description, String new_password, String new_note) { 

      SQLiteDatabase db = this.getWritableDatabase(); 
      String strSQL = "UPDATE PASSWALL SET PW_DESC='" + new_description + "', PW_PASS='" + new_password + "', PW_NOTE='" + new_note + "' WHERE PW_DESC='" + old_description + "' AND PW_PASS='" + old_password + "' AND PW_NOTE='" + old_note + "'"; 
      db.execSQL(strSQL); 
     } 
+0

es funktioniert. Danke für die Mühe – APX