Witam.
Ja już zgłupiałem. Potrzebuję uaktualnić w tabeli rekord. W tym rekordzie jest między innymi pole typu BLOB przechowujące zdjęcie. Mam ADOCommand z wpisanym sparametryzowanym zapytaniem. Następnie przypisuję parametrom wartości. Z tymże mam w TImage zdjęcie pobrane wcześniej z tego rekordu.
Może wkleję kod, łatwiej będzie załapać:
with Dane.acmdUaktualnijZwierze.Parameters do
begin
ParamByName('plecu').Value := dblcbPlec.KeyValue;
ParamByName('rozmiaru').Value := edtRozmiar.Text;
ParamByName('mascu').Value := dblcbMasc.KeyValue;
ParamByName('chipu').Value := edtChip.Text;
ParamByName('data_przyjeciau').Value := DateToStr(DateTimePicker1.Date);
ParamByName('szczegoly_przyjeciau').Value := Memo1.Text;
if CheckBox1.Checked then
begin
ParamByName('data_wyjsciau').Value := DateToStr(DateTimePicker2.Date);
ParamByName('opis_wyjsciau').Value := Memo2.Text;
ParamByName('sposob_wyjsciau').Value := dblcbSposobyWyjscia.KeyValue;
end else
begin
ParamByName('data_wyjsciau').Value := NULL;
ParamByName('opis_wyjsciau').Value := NULL;
ParamByName('sposob_wyjsciau').DataType := ftInteger;
ParamByName('sposob_wyjsciau').Value := NULL;
end;
if edtPicture.Text <> '' then
begin
ParamByName('zdjecieu').LoadFromFile(edtPicture.Text, ftBlob);
end else
begin
imgZdjecie.Picture.Graphic.SaveToStream(s);
ParamByName('zdjecieu').LoadFromStream(s, ftBlob);
end;
ParamByName('klientu').Value := dblcbClient.KeyValue;
ParamByName('lokacjau').Value := dblcbLocalization.KeyValue;
if CheckBox1.Checked then
begin
ParamByName('stanu').Value := 'N';
end else
begin
ParamByName('stanu').Value := 'Y';
end;
ParamByName('typu').Value := dblcbAnimalType.KeyValue;
ParamByName('identu').Value := edtID.Text;
ParamByName('idu').Value := id;
end;
Dane.acmdUaktualnijZwierze.Execute;
No i nie wiem czemu, ale się wykłada. Może jakaś dobra dusza podpowie co mam zrobić?