INSERT INTO table_name (photo) VALUES (LOAD_FILE('/tmp/photo.jpg'))
mysql -u root -pUSE test;INSERT INTO image (photo) VALUES (LOAD_FILE('/tmp/photo.jpg'));
Чё т всё равно непонятно...Какие мне спец символы убирать ?Мне вообще в Lazarus нужно.Но, начнём с консоли :)Я делаю:Код: [Выделить]mysql -u root -pUSE test;INSERT INTO image (photo) VALUES (LOAD_FILE('/tmp/photo.jpg'));и получаю NULL.
conn := getConnection(_TypeConnection); query.DataBase := conn; query.UsePrimaryKeyAsKey:=false; query.SQL.clear; query.SQL.Add('update volumepage set page_image = :image, image_filename = :imgname where volume_id = :vol and page_index = :page'); query.Params.ParamByName('vol').Value:=pVolumeId; query.Params.ParamByName('page').Value:=pPageIndex; query.Params.ParamByName('image').LoadFromFile(pFileName,ftBlob); query.Params.ParamByName('imgname').Value:=pFileName; query.ExecSQL;
ftBlob
with SQLQuery1 do begin Close; SQL.Clear; SQL.Add('UPDATE image SET scan = :photo'); Params.ParamByName('photo').LoadFromFile('/tmp/scan.jpg', ftBlob); ExecSQL;end;
procedure TForm1.Button1Click(Sender: TObject);begin if OpenPictureDialog1.Execute then begin Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); with SQLQuery1 do begin SQL.Text:= 'INSERT INTO image (scan) VALUES (:content)'; ParamByName('content').LoadFromFile(OpenPictureDialog1.FileName, ftBlob); ExecSQL; end; end;end;
procedure TForm1.Button2Click(Sender: TObject);var AStream : TMemoryStream;begin AStream := TMemoryStream.Create; try TBlobField(SQLQuery1.FieldByName('scan')).SaveToStream(AStream); AStream.Position := 0; Image1.Picture.LoadFromStream(AStream); finally AStream.Free; end;end;