Thema: Delphi Insert und TBlobField

Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Insert und TBlobField

  Alt 22. Nov 2005, 10:23
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Ok, wahrscheinlich zum 100.sten Mal

Wenn ich eine Tabelle mit einem Blob-Feld über SQL per INSERT um eine Zeile erweitern will, dann hab ich ja immer das Problem, dass ich das BLOB nicht direkt mit übergeben kann.

Nun haben meine Tabellen eigentlich immer ein Feld LFDNR, eine laufende Nummer mittels AutoInc. Das wäre für mich eigentlich der einzige, eindeutige Indikator für eine Zeile. Diesen Wert kenne ich aber nach der INSERT-Anweisung nicht, weil er ja erst bei EXEC erzeugt wird.

Nun gehe ich immer den "umständlichen" Weg, erstmal irgendein Feld zu mißbrauchen, und dort einen Wert per Insert reinzusetzen, den ich auf jeden Fall eindeutig habe (was ich ja irgendwie nicht wirklich garantieren kann).
Danach hole ich mir per Select die Zeile wieder in mein Query und setzte dann erst mittels MemoryStream das Blobfeld.

Soweit so gut. Aber letztlich kommt mir das sehr umständlich und auch irgendwie unsauber vor.

Mal ausgehend davon, dass diese Datenbank von vielen Usern genutzt wird, und diese auch alle ständig viele Veränderungen vornehmen. So kann es doch passieren, das sich zwischen dem Insert und dem kopieren per Stream schon wieder etwas verändert. Besser wäre es ja, das Blob gleich beim Insert mit den richtigen Daten zu füllen. Oder?

Ist das wirklich die einzige Möglichkeit? Aber eine andere hab ich bis jetzt auch nicht gefunden.
Was sagt ihr dazu?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat