1 (edited by agatlogic101 2019-11-11 12:43:30)

Topic: Сохранение через скрипт

Что бы сохранить текст я пишу
мероприятия_расходы.Edit2.Text
чекбокс
мероприятия_расходы.CheckBox1.sqlValue
А как сохранить image?

Re: Сохранение через скрипт

Form1.ComboBox1.sqlValue;
либо
Form1.ComboBox1.dbItemID;

это номер id записи

Re: Сохранение через скрипт

А почему image сохраняется через ComboBox1? Там же DBImage1

4 (edited by sibprogsistem 2019-11-11 13:19:08)

Re: Сохранение через скрипт

agatlogic101 wrote:

А почему image сохраняется через ComboBox1? Там же DBImage1

ой как всегда спешу и не вижу вопроса

ивеняюсь вот скрипт для изоброжения

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
    sSQL: string;
    sFileName: string;
    sFieldName: string;

    Params: TParams;
    MemoryStream: TMemoryStream;
    Param: TParam;
begin
    sFileName := 'd:\db 1.jpg';
    sFieldName := 'somefile';

    sSQL := 'UPDATE test SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id=1';
    Params := TParams.Create(nil);


    // BLOB
    MemoryStream := TMemoryStream.Create;
    MemoryStream.LoadFromFile(sFileName); // load file to memory
    MemoryStream.Position := 0;
    Params.CreateParam(ftBlob, sFieldName, ptInput).LoadFromStream(MemoryStream, 15);  // 15 ftBlob (TBlobType)

    Form1.SQLConnection.Execute(sSQL, Params);

    MemoryStream.Free;
    Params.Free;
    Form1.TableGrid1.dbUpdate;
end;

Re: Сохранение через скрипт

procedure SaveFileToDatabase (Tablename, Fieldname, Filename: string; id: integer);
var
    sSQL: string;
    sFileName: string;
    sFieldName: string;

    Params: TParams;
    MemoryStream: TMemoryStream;
    Param: TParam;
begin
    sSQL := 'UPDATE '+Tablename+' SET ' +Fieldname+'= :'+Fieldname+', '+Fieldname+'_filename="'+ExtractFileName(Filename)+'" WHERE id='+IntToStr(id);
    Params := TParams.Create(nil);


    // BLOB
    MemoryStream := TMemoryStream.Create;
    MemoryStream.LoadFromFile(Filename); // load file to memory
    MemoryStream.Position := 0;
    Params.CreateParam(ftBlob, Fieldname, ptInput).LoadFromStream(MemoryStream, 15);  // 15 ftBlob (TBlobType)

    Form1.SQLConnection.Execute(sSQL, Params);

    MemoryStream.Free;
    Params.Free;
end;


  // использование процедуры
  SaveFileToDatabase('TableName', 'FieldName', 'd:\db 1.jpg', 1); // последний параметр это идентификатор записи  в таблице
Dmitry.