Sqlite update Feld ergänzen

Hallo ich hoffe Ihr seit gut drauf!?
Ich möchte in meiner SQLITE-Tabelle im Feld Bemerkung einige Inhalte ergänzen.
Normalerweise kein Problem, aber es sollen die Inhalte erhalten bleiben und ich möchte sie erweitern.
Habe folgendes probiert:
update filetabelle set Bemerkung =Bemerkung,’"+me.text+"’ where Markierung=1
update filetabelle set Bemerkung =Bemerkung || ‘"+me.text+"’ where Markierung=1

funzt leider nicht!
Gibt es andere Möglichkeiten? Oder gar keine
Liebe Grüsse Micha

Du hast da vermutlich Tippfehler beim SQL drin.

Sollte vielleicht sowas sein

SQL = “update filetabelle set Bemerkung = Bemerkung + ? where Markierung=1”

Und dann prepared statement und dann Bind() mit dem Wert.

Hallo Christian
Danke für die prompte Meldung!
Leider geht es mit prepared statement auch nicht.

sq =“update filetabelle set Bemerkung = Bemerkung + ? where Markierung=1”
Dim ps As SQLitePreparedStatement = DB.Prepare(sq)
ps.BindType(0, SQLitePreparedStatement.SQLITE_TEXT) 'Bemerkung
ps.Bind 0, me.text
ps.SQLExecute
If db.Error Then
MsgBox("Fehler beim Update "+db.ErrorMessage)
End If

Es wird nur eine 0 eingetragen, ohne Fehlermeldung.
Dazu muss ich vielleicht erwähnen, dass beim 1. Update noch kein Inhalt ist. Beim 2. mal sollte der 1. mit einbezogen werden (also zusammengesetzt werden)

In Sqlite ist concat nicht + sondern ||:

sq =“update filetabelle set Bemerkung = Bemerkung || ? where Markierung=1”

Danke Christian!!!
Jetzt funktioniert es.
mit || hatte ich beim normalen db.execute keinen Erfolg.
Mit prepared statement geht es!

Bleib schön Gesund!!
Ich brauch Dich noch :stuck_out_tongue_winking_eye:

Hallo ich muss mich nochmal melden.
Folgendes habe ich herausgefunden:
sq =“update filetabelle set Bemerkung = Bemerkung + ? where Markierung=1”
Wenn das Feld Bemerkung NULL ist, dann wird NICHT aktualisiert.

Wenn, aber vorher:
sq =“update filetabelle set Bemerkung = ‘’ where Markierung=1”
,dann klappt es!

Hat jemand ein Erklärung dafür?
Was ist der Unterschied zwischen NULL und ‘’

NULL ist ein leeres Feld.
‘’ ist leerer Text, aber eben ein Wert.

Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.