Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизИ снова картинки ... Найти похожие ветки
← →
aleliko © (2005-05-23 13:22) [0]Всем привет!
Я хочу поднять вопрос, который уже, наверняка, обсуждался в этом форуме - добавление картинок в базу данных.
Я поискал по ключевым словам, но не нашел ничего подходящего.
По найденному мной, я смог сваять только что-то типа:
procedure TForm1.Button2Click(Sender: TObject);
var
// JPEGImage:TJPEGImage;
MemoryStream:TMemoryStream;
// Image:TBlobField;
begin
MemoryStream:=TMemoryStream.Create;
// JPEGImage:=TJPEGImage.Create;
datamodule2.ADOQuery2.Close();
form1.Image1.Picture.Bitmap.SaveToStream(MemoryStream);
datamodule2.ADOQuery3.Parameters[0].LoadFromStream(MemoryStream);
datamodule2.ADOQuery3.ExecSQL;
datamodule2.ADOQuery2.Open();
MemoryStream.Free;
end;
Но прога не работает =\
Подскажите, пожалуйста, в чем ошибка?
← →
Zacho © (2005-05-23 13:30) [1]aleliko © (23.05.05 13:22)
Но прога не работает =\
Подскажите, пожалуйста, в чем ошибка?
В ДНК.
А конкретно, в нежелании написать корректный вопрос.
Что значит "не работает" ??? Где текст сообщения об ошибке ? Где указаны СУБД и компоненты доступа ???
Или ты думаешь что это форум телепатов ?
RTFM http://ln.com.ua/~openxs/articles/smart-questions-ru.html
← →
Johnmen © (2005-05-23 13:39) [2]...и что такое ADOQuery3 ?
← →
aleliko © (2005-05-23 14:11) [3]Признаю свою ошибку - поторопился =\
1. При компиляции появляется ошибка
[Error] Unit1.pas(57): Not enough actual parameters
ясно, что не хватает параметров в
LoadFromStream(MemoryStream); (требует DataType)
Пишу:
datamodule2.ADOQuery3.Parameters[0].LoadFromStream(MemoryStream, ftBlob);
или
datamodule2.ADOQuery3.Parameters[0].LoadFromStream(MemoryStream, DataType: ftBlob);
Получаю:
[Error] Unit1.pas(57): Undeclared identifier: "DataType"
[Error] Unit1.pas(57): "END" expected but ")" found
Понятно, что хочет ")" и говорит, что неизвестная переменная ...
Везде, где я нашел инфу про блоб не упоминается, что нужны доп параметры, поэтому я растерялся =\
2. У меня создана база на sqlserver есть поле image
ADOQuery2 содержит селект, выбирающий первую ячейку поля, куда я пытаюсь апдейтить картинку. ADOQuery3 содержит апдейт той же ячейки
update kirovtelecom_pers
set foto = :fot
where fio="..."
переменная fot задана, как ftBlob.
Вопрос: Какие нужны доп параметры, какого типа?
Если я раскомментирую строку
Image:TBlobField;
то появляется ошибка
[Error] Unit1.pas(50): Undeclared identifier: "TBlobField"
Происхождение этой ошибки я вообще разгадать не могу
ДНК ...
← →
msguns © (2005-05-23 14:17) [4]Query3 делает выборку по условию-картинке ?
← →
aleliko © (2005-05-23 14:20) [5]Выборку делает Query2
select foto from inf_pers where fio="..."
query3, как я уже писал
update kirovtelecom_pers
set foto = :fot
where fio="..."
Поле fio содержит уникальные значения
(хотя это и не совсем корректно)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.067 c