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

Народ, подскажите как запихнуть в базу картинку программно...   Найти похожие ветки 

 
Rub ©   (2002-04-27 10:39) [0]

Код:

ADOQuery->Append();
ADOQuery->FieldByName("Title")->AsString = "_Test";
ADOQuery->FieldByName("Image")->AsString = Image1->Picture;
ADOQuery->Post();

База MSSQL поле типа Image


 
SB.John ©   (2002-04-27 11:14) [1]

Использовать потоки (долго объяснять - лениво). Если хочешь проще - используй TDBImage. Привяжи его к нужному полю и вперед

ADOQuery->Append();
DBImage1->LoadFromFile("C:\\1.bmp");
или
DBImage1->PasteFromClipboard(...);
ADOQuery->Post();

Если не хочешь чтобы картинка была видна, просто DBImage1->Visible = false;


 
Rub ©   (2002-04-27 11:40) [2]

У ТDBImage нет метода LoadFromFile....
А как запихнуть предварительно картинку в буфер обмена если действовать через него?


 
Lusha ©   (2002-04-27 11:42) [3]

Смотрите TBlobField и TBlobStream...


 
SB.John ©   (2002-04-27 12:36) [4]

Прошу прощения. Вместо DBImage1->LoadFromFile надо использовать DBImage1->Picture->LoadFromFile. Вот дострочный код из моей проги:

PicTable->Edit();
DBImage1->Picture->LoadFromFile(FileName);
DeleteFile(FileName);
PicTable->FieldByName(mfield)->AsInteger = mvalue;
PicTable->Post();





 
McSimm ©   (2002-04-28 10:54) [5]

Лучше всего с помощью ADOBlobStream. Например:
var
ADOStream: TADOBlobStream;
FileStream: TFileStream;
begin
ADOQuery.Append;
ADOQuery.FieldByName("Title").AsString = "_Test";
ADOStream := TADOBlobStream.Create(ADOQuery.FieldByName("Image"), bmWrite);
try
FileStream := TFileStream.Create(FileName, fmOpenRead);
try
ADOStream.LoadFromStream(FileStream)
finally
FileStream.Free
end
finally
if ADOQuery.State in [dsInsert, dsEdit] then ADOQuery.Post;
ADOStream.Free
end;
end;



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

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



Память: 0.46 MB
Время: 0.01 c
4-73437
fomstas
2002-03-21 13:20
2002.05.23
Как правильно преобразовать Canvas в Icon не сохраняя в файл...


14-73392
Draculenok
2002-04-15 09:21
2002.05.23
бесплатные звонки


1-73108
freeman73
2002-05-13 01:05
2002.05.23
Как добавить форму в DLL и затем вызвать ее из программы


1-73303
JC
2002-05-09 00:12
2002.05.23
Создать TComboBox.


1-73219
shane54
2002-05-14 17:38
2002.05.23
Как проверить, есть ли среди 10 чисел повторяющиеся?




   Наверх