Einzelnen Beitrag anzeigen

Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#1

SQL: Update-Befehl löscht Datensatz?

  Alt 22. Jan 2007, 13:20
Datenbank: BDE • Version: 5.1 • Zugriff über: BDE-Komponenten
Hallo,

ich möchte in meinem Programm per SQL-Befehl eine Tabelle aktualisieren, habe aber das Problem, dass der Update-Befehl den zu ändernden Datensatz löscht, sobald ein Memo-Feld bearbeitet werden soll.

Zum Verständnis:

Dieser Befehl löscht den Datensatz kommentarlos aus der Tabelle:

Delphi-Quellcode:
        SQL.Text := 'UPDATE SD_CUST SET ' +
                    'STRSHORTNAME = ' + QuotedStr(edtShortName.Text) + ', ' +
                    'STRNAME1 = '     + QuotedStr(edtName1.Text) + ', ' +
                    'STRNAME2 = '     + QuotedStr(edtName2.Text) + ', ' +
                    'STRNAME3 = '     + QuotedStr(edtName3.Text) + ', ' +
                    'STRSTREET = '    + QuotedStr(edtStreet.Text) + ', ' +
                    'STRPOSTCODE = '  + QuotedStr(edtPostcode.Text) + ', ' +
                    'STRCITY = '      + QuotedStr(edtCity.Text) + ', ' +
                    'STRPHONE1 = '    + QuotedStr(edtPhone1.Text) + ', ' +
                    'STRPHONE2 = '    + QuotedStr(edtPhone2.Text) + ', ' +
                    'STRFAX = '       + QuotedStr(edtFax.Text) + ', ' +
                    'MMREMARKS = '    + QuotedStr(mRemarks.Text) + ' ' +
'WHERE ID = ' + lblID.Caption + ';';
Wenn ich die letzte Zeile mit dem Feld "MMREMARKS" (das ist das Memo-Feld) rausnehme, funktionierts:


Delphi-Quellcode:
        SQL.Text := 'UPDATE SD_CUST SET ' +
                    'STRSHORTNAME = ' + QuotedStr(edtShortName.Text) + ', ' +
                    'STRNAME1 = '     + QuotedStr(edtName1.Text) + ', ' +
                    'STRNAME2 = '     + QuotedStr(edtName2.Text) + ', ' +
                    'STRNAME3 = '     + QuotedStr(edtName3.Text) + ', ' +
                    'STRSTREET = '    + QuotedStr(edtStreet.Text) + ', ' +
                    'STRPOSTCODE = '  + QuotedStr(edtPostcode.Text) + ', ' +
                    'STRCITY = '      + QuotedStr(edtCity.Text) + ', ' +
                    'STRPHONE1 = '    + QuotedStr(edtPhone1.Text) + ', ' +
                    'STRPHONE2 = '    + QuotedStr(edtPhone2.Text) + ', ' +
                    'STRFAX = '       + QuotedStr(edtFax.Text) + ', ' +
'WHERE ID = ' + lblID.Caption + ';';
Wenn ich nur das Memofeld update, funktionierts aber auch

Delphi-Quellcode:
        SQL.Text := 'UPDATE SD_CUST SET ' +
                            'MMREMARKS = '    + QuotedStr(mRemarks.Text) + ' ' +
'WHERE ID = ' + lblID.Caption + ';';
Muss ich bei einem Update zwei Befehle absetzen, einmal für das Memo-Feld und einmal für den Rest?

Vielleicht hat jemand einen Tip.


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat