Вниз
Скачать: CL | DM;

Запись файла в поле типа Image   Найти похожие ветки 

← →
Skipidar ©   (2004-01-10 05:51) [0]

Здравствуйте! Не могли бы вы подсказать, как в поле типа Image базы MSSQL записать содержимое файла, используя TADOQuery?
Заранее благодарен.


← →
Alone Corsar ©   (2004-01-10 08:55) [1]

Кнопочка F1......


← →
Skipidar ©   (2004-01-11 00:37) [2]

А всё-таки как?
У себя в приложении я использовал такой вариант:


DM.ADOQuery1.SQL.Text := "INSERT Files VALUES(" + IntToStr(File_ID) + ", " +
IntToStr(Num_L) + ", NULL, " + IntToStr(SearchRec.Size) +
", " + IntToStr(File_Type) + ", """ + EditTitle.Text +
""", """ + Memo1.Text + """, """ + Str + """, """ +
EditHyperlink.Text + """)";
DM.ADOQuery1.ExecSQL;

DM.ADOQuery1.SQL.Text := "UPDATE Files"#13 +
"SET Body = NULL"#13 +
"WHERE ID = " + IntToStr(File_ID);
DM.ADOQuery1.ExecSQL;

DM.ADOQuery1.SQL.Text := "EXEC sp_dboption ""NSD"", ""select into/bulkcopy"", ""true""";
DM.ADOQuery1.ExecSQL;

f := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);

repeat
Readed := f.Read(a, 500);
BinToHex(@a, @S1, Readed);
S := S + S1;
if (Length(S) >= 65000) or (f.Position = f.Size) then begin
if Readed < 500 then
SetLength(S, Length(S) - 1000 + Readed*2);
//end if
DM.ADOQuery1.SQL.Text := "DECLARE @ptrval binary(16)"#13 +
"SELECT @ptrval = TEXTPTR(Body)"#13 +
"FROM Files"#13 +
"WHERE Files.ID = " + IntToStr(File_ID) + #13 +
"UPDATETEXT Files.Body @ptrval NULL 0 0x" + S;
DM.ADOQuery1.ExecSQL;

S := "";
Application.ProcessMessages;
end;//if
until f.Position = f.Size;

DM.ADOQuery1.SQL.Text := "EXEC sp_dboption ""NSD"", ""select into/bulkcopy"", ""false""";
DM.ADOQuery1.ExecSQL;

f.Free;


Работает без проблем, но, как сами понимаете, очень медленно. Меня интересует, как сделать то же самое через потоки. Неужели сложно написать простейший пример?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
14-16592
Лев
2004-01-15 15:41
2004.02.06
Помогите плиз, проблема с сетью.


1-16343
denis24
2004-01-24 13:16
2004.02.06
ф-ция pos


1-16354
Navi
2004-01-21 19:08
2004.02.06
Отображение полос прокрутки в StringGrid-е


1-16383
Бывающий
2004-01-23 16:39
2004.02.06
TOleContainer. Мышь ведет себя странно. Не select-ит Помогите ПЛЗ


4-16820
jazz
2003-11-28 11:22
2004.02.06
Как открыть ссылку в новом окне IE в дельфи?




   Наверх