![]() |
In InterbaseDB schreiben
Hallo!!
Ich habe einen Blob aus einer Interbasedatenbank ausgelesen und möchte in nun zurückschreiben. Wie kann ich den Blob in die Datenbank zurückschreiben? MgG Masterof |
Re: In InterbaseDB schreiben
Hi,
wie hast Du das Blobfeld ausgeslesen? Mit welchen Komponenten arbeitest Du (IBX, IBObjects,...)? Was steckt in dem Blobfeld (Text, Bild,..)? Es gibt da einige Möglichkeiten wie es funktioniert (und auch nicht). Bei Verwendung der IBX kannst DU dir auch mal das Tuto anschauen: ![]() Grüße Lemmy |
Re: In InterbaseDB schreiben
Hallo!!
Ich lese den Blob in ein Stringarray ein und bearbeite ihn, anschließend muss ich die Werte aus den Array zurück in die Datenbank schreiben und den alten Blob ersetzten. Es ist ein Textblob. Ich arbeite mit IB Komponenten(IBDatabase, IBQuery, IBTransaction, und IBUpdate). MfG Master |
Re: In InterbaseDB schreiben
Hi,
als erstes solltest Du die IBQuery und die IBUpdate durch die TIBDataSet ersetzen. Diese beiden Komponeten sind nur aus Kompatibilitätsgründen vorhanden. Was ich jetzt noch immer nicht weiß ist, wie Du das Blob ausliest. Wenn Du ein Datebankfeld (Rechte MT auf die Query, dann Feldeditor) verwendest kannst du das doch auch dazu verwenden das Feld zurückzuschreiben. Wie liest Du das Stringarray aus? liest Du den String aus dem Blob und schreibst die einzelnen Werte in das Array...?? Dann geh doch einfach beim Schreiben den umgekehrten Weg... Grüße Lem,y |
Re: In InterbaseDB schreiben
Hallo!!
Leider kann ich das Query nicht einfach ersetzen, da eine größere Berechnung damit in Verbindung steht. Wie sollte die Befehlsyntax für das zurückschreiben aussehen? MfG Master |
Re: In InterbaseDB schreiben
Hi,
zum zurückschreiben genügt ein Query.Edit (wenn es mit der IBUpdate in Verbindung steht), dann den Blob entsprechend editieren und mit Post speichern. Eine Änderung mittels Update-SQL geht meines Wissens nach nicht, außer Du arbeitest mit UDF-Funktionen zusammen, die den String im SQL in einen Blob umwandeln, wobei ich da bisher nur schlechtes gehört habe. Grüße Lemmy |
Re: In InterbaseDB schreiben
Hallo!!
Ich habe jetzt folgenden Syntax in Delphi stehen, nur leider kommt immernoch eine Fehlermeldung. lohn_daten.UDM.IBLohnQuery.Edit; lohn_daten.UDM.IBLohnQuery.FieldValues['KSTKTR']:= kst; lohn_daten.UDM.IBLohnQuery.post; MfG Master |
Re: In InterbaseDB schreiben
Zitat:
Rechte Maustaste auf die IBQUery und Feldeditor aufrufen. Dann alle Felder hinzufügen. Nun werden für alle Felder entsprechende Variablen angelegt nach dem Muster <Name der IBQuery><Name der Spalte> also IBLohnQueryKSTKTR Mit dieser Variable kannst Du jetzt arbeiten: IBLohnQuery.Edit; IBLohnQueryKSTKTR.Assign(StringList); IBLohnQuery.Post; wobei StringList eine Variable vom Typ TStringList ist in der die Daten des Arrays stehen. Du kannst auch das StringGrid in eine Datei speichern und diese Datei dann mit LoadFromFile in das Blobfeld laden. Grüße Lemmy |
Re: In InterbaseDB schreiben
Hallo!!
Leider hat das nicht funktioniert, da keine UpdateSql-Anweisung vorhanden ist kst1:=Tstringlist.Create; kst1.Add(kst); lohn_daten.UDM.IBLohnQuery.Edit; lohn_daten.UDM.IBLohnQueryKSTKTR.Assign(KST1); lohn_daten.UDM.IBLohnQuery.Post; Wenn ich den Text in die Tstringlist schreibe, bleibt diese leer. Bei der Editanweisung entsteht immer der Fehler der nicht vorhabnenen Updateanweisung. MfG Master PS: Ich schreibe das erste mal Daten in eine IB Datenbank zurück. |
Re: In InterbaseDB schreiben
schau hier mal, da solltest du fündig werden
![]() raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz