Hallo!<br>
Ich habe eine, im Prinzip, sehr einfache Frage:<br>
Unter MS SQL-Server möchte ich einen Record in ein (Blob-)Feld<br>
schreiben und anschließend auslesen.<br>
Die Methode zum Schreiben sieht etwa wie folgt aus:<br>
try<br>
MemoryStream := TMemoryStream.Create;<br>
MemoryStream.WriteBuffer(Rec, SizeOf(Rec));<br>
ADOTable.Edit;<br>
BlobStream := ADOTable.CreateBlobStream(ADOTable.FieldByName('Te st'), bmReadWrite);<br>
with ADOTable, Rec do begin<br>
sText1 := FieldByName('Text1').AsString;<br>
sText2 := FieldByName('Text2').AsString;<br>
sText3 := FieldByName('Text3').AsString;<br>
end;<br>
BlobStream.WriteBuffer(Rec, SizeOf(Rec));<br>
ADOTable.Post;<br>
finally<br>
MemoryStream.Free;<br>
BlobStream.Free;<br>
end;<br>
Um den Record wieder auszulesen, benutze ich folgende Methode:<br>
try<br>
BlobStream := damDataModule.atbLicense.CreateBlobStream(ADOTable .FieldByName('Test'), bmRead);<br>
MemoryStream := TMemoryStream.Create;<br>
MemoryStream.LoadFromStream(BlobStream);<br>
MemoryStream.ReadBuffer(Rec, SizeOf(Rec));<br>
finally;<br>
BlobStream.Free;<br>
MemoryStream.Free;<br>
end;<br>
Das Record wird beim Auslesen jedoch nicht gefüllt! Gehe ich das<br>
Problem von einer falschen Seite an? Für einen Tip wäre ich dankbar!<br>
Regards,<br>
André<br>
Ich habe eine, im Prinzip, sehr einfache Frage:<br>
Unter MS SQL-Server möchte ich einen Record in ein (Blob-)Feld<br>
schreiben und anschließend auslesen.<br>
Die Methode zum Schreiben sieht etwa wie folgt aus:<br>
try<br>
MemoryStream := TMemoryStream.Create;<br>
MemoryStream.WriteBuffer(Rec, SizeOf(Rec));<br>
ADOTable.Edit;<br>
BlobStream := ADOTable.CreateBlobStream(ADOTable.FieldByName('Te st'), bmReadWrite);<br>
with ADOTable, Rec do begin<br>
sText1 := FieldByName('Text1').AsString;<br>
sText2 := FieldByName('Text2').AsString;<br>
sText3 := FieldByName('Text3').AsString;<br>
end;<br>
BlobStream.WriteBuffer(Rec, SizeOf(Rec));<br>
ADOTable.Post;<br>
finally<br>
MemoryStream.Free;<br>
BlobStream.Free;<br>
end;<br>
Um den Record wieder auszulesen, benutze ich folgende Methode:<br>
try<br>
BlobStream := damDataModule.atbLicense.CreateBlobStream(ADOTable .FieldByName('Test'), bmRead);<br>
MemoryStream := TMemoryStream.Create;<br>
MemoryStream.LoadFromStream(BlobStream);<br>
MemoryStream.ReadBuffer(Rec, SizeOf(Rec));<br>
finally;<br>
BlobStream.Free;<br>
MemoryStream.Free;<br>
end;<br>
Das Record wird beim Auslesen jedoch nicht gefüllt! Gehe ich das<br>
Problem von einer falschen Seite an? Für einen Tip wäre ich dankbar!<br>
Regards,<br>
André<br>
Comment