Witam, mam problem:
w jaki sposób mogę wrzucić dane do bazy danych (MySQL) używając DataSetów ?
blob := yourDataset.CreateBlobStream(yourDataset.FieldByName('blob'), bmRead);
Gdy używam linii podobnej do tej (do bloba już mam załadowany stream) wyrzuca mi error, że nie dataset nie jest w trybie edycji... nie bardzo wiem jak to ugryźć, bo nie mogę skorzystać ze zwykłego commandline. Ciężko znaleźć dobry help w internecie więc proszę o pomoc.
Jak mogę też przypisać dane do innych pól, jak je w ogóle zadeklarować i jak móc potem to wszystko INSERTować?
Załączam tez kod ładowania z bloba, który działa zupełnie poprawnie, problem jest z samym datasetem.
blob := yourDataset.CreateBlobStream(yourDataset.FieldByName('YOUR_BLOB'), bmRead);
try
blob.Seek(0, soFromBeginning);
with TFileStream.Create('c:\your_name.doc', fmCreate) do
try
CopyFrom(blob, blob.Size)
finally
Free
end;
finally
blob.Free
end;
Dodam, że głównym błędem wydaje mi się być to, że set jest READ-ONLY - a ja nie wiem jak to zmienić, komendy typu SQLQuery1.Edit nic nie wnoszą...
EDIT:
Dodam też, że (może) możliwe jest zczytanie pliku binarnego do stringa i wrzucenie go wtedy w zwykłym zapytaniu jako tekst ( INSERT INTO ... VALUES (tenstring) ),
bo w takiej postaci jest przechowywany w bazie BLOB (jako ciąg 0 i 1)