Einzelnen Beitrag anzeigen

Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: EDataBaseError: Feld 'Memo' kann nicht verändert werden

  Alt 22. Nov 2016, 08:27
So, Tests ausgeführt und folgende Ergebnisse erbracht.

Probier mal folgendes aus

Daten.Q_MSSQL_Export.FieldByName(FieldName).AsString:= 'Hallo Welt!'
Gleicher Fehler

Also prinzipiell finde ich das Vorgehen so ok, mache das auch regelmäßig, wenn von X nach Y kopiert werden soll, und die Routine funktioniert halt auch ohne Änderung, wenn die Tabellen noch dutzende von Spalten dazubekommen.

Es gibt nur einen Unterschied:

Benutzte immer, egal welcher Typ jetzt tatsächlich in den Tabellen vorkommt .AsString Das dürfte erst problematisch werden, wenn man Blobfelder mit irgendwelchem binären Inhalt (wie Grafiken ...) hat, auf diese Weise kopieren will.

Anstelle von .Value könnte eventuell auch .AsVariant funktionieren oder .AssignValue() Also statt   Daten.Q_MSSQL_Export.FieldByName(FieldName).Value := Daten.Q_SQLITE_Export.FieldByName(FieldName).Value; eventuell   Daten.Q_MSSQL_Export.FieldByName(FieldName).AssignValue(Daten.Q_SQLITE_Export.FieldByName(FieldName).Value);
Bekomme bei .AsString den gleichen Fehler.

Ausserdem haut mir der Compiler bei .AssignValue() den Fehler 'Inkompatible Typen: 'TVarRec' und 'Variant'' raus. was habe ich da falsch gemacht?

  Daten.Q_MSSQL_Export.FieldByName(FieldName).AssignValue(Daten.Q_SQLITE_Export.FieldByName(FieldName).Value);
-----------------------------------------------------------
Noch eine Idee:

Kurz bevor ich die neuen Datensätze anlege beinhaltet die Query "Q_MSSQL_Export" fast das selbe SQL:

Code:
 Select ID, dbo.RTF2Text(Memo) as Memo from Tabelle
in dem SQL wäre es logisch, dass die Spalte nicht veränderbar ist. allerdings wird die Query ja vor dem Anlegen geschlossen, das SQL ausgetauscht und die Query wieder geöffnet. kann es Trotzdem sein, dass es hier deswegen zu dem Fehler kommt?

ich hoffe ich habe mich verständlich ausgedrückt...
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat