Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: 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 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-16382
Ivolg
2004-01-20 09:15
2004.02.06
Буфер!


3-16114
Penza19
2004-01-15 23:26
2004.02.06
Сортировка значений таблицы согласно выбранного столбца DBGrid


1-16282
DimonNew
2004-01-22 11:04
2004.02.06
Дата


14-16616
Евгыш
2004-01-15 10:18
2004.02.06
Обработка исключений


6-16570
h0use
2003-12-01 17:37
2004.02.06
Как через инди компоненты работать с базами данных