Einzelnen Beitrag anzeigen

Kalli

Registriert seit: 12. Jun 2003
Ort: Landau i.d. Pfalz
79 Beiträge
 
Delphi 2005 Enterprise
 
#3

Re: Fehler beim speichern geänderter Memofelder

  Alt 1. Jul 2005, 18:57
Hallo marabu,
die Anweisungen sind furchtbar primitiv. Nachdem das in meiner Anwendung zu Problemen führte, habe ich eine Mini-Anwendung zusammengeclickt.
SQL-Code:
CREATE TABLE VD.MEMO (
"VERMNR" VARCHAR (10) ,
"NAME" VARCHAR (30) ,
"BEMERKUNG" LONG VARCHAR )
erstellt mir die Tabelle zum Testen. Über ADODataset mit der Anweisung "select * from VD.MEMO" rufe ich die Daten ab. Der Cursor von ADOConnect steht auf Client.

Auf einer 'Form' sind zwei DBEditfelder für VERMNR und NAME sowie ein DBMemo für BEMERKUNGEN. Zum Steuern benutze ich einen DBNavigator.

Trage ich eine VermNr und den Namen ein, kann ich den Datensatz mit dem DBNavigator abspeichern und fertig. Sobald ich aber ein Zeichen im Memofeld eintrage und speichern will, kommt die besagte Fehlermeldung.

Im Moment behelfe ich mir mit einem Umweg:
Ich lade den Text in ein Memofeld und schreibe es zurück in die Tabelle.
.
Delphi-Quellcode:
procedure TForm1.MemoSpeichern;
// SQL-Anweisung in einem ADOCommand: Update VD.VERM01 set BEMERKUNG = :BM where VERMNR = :Nr
var
  NR : String;
begin
  nr := ADODataSet1VERMNR.Text;
  ADOCommand1.Parameters.ParamByName('BM').Assign(Memo1.Lines);
  ADOCommand1.Parameters.ParamByName('NR').Value := Nr;
  ADOCommand1.Execute;
  ADODataSet1.Requery([]);
  ADODataSet1.Locate('VERMNR',Nr,[]);
end;
.


Gruß
Kalli

[edit=alcaeus]sql- und delphi-Tags eingefuegt. Mfg, alcaeus[/edit]
Karl Josef Ziller
  Mit Zitat antworten Zitat