![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
И снова картинки ...
aleliko © (2005-05-23 13:22:00)Всем привет!
Я хочу поднять вопрос, который уже, наверняка, обсуждался в этом форуме - добавление картинок в базу данных.
Я поискал по ключевым словам, но не нашел ничего подходящего.
По найденному мной, я смог сваять только что-то типа:
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;
Но прога не работает =\
Подскажите, пожалуйста, в чем ошибка?
aleliko (2005-05-23 14:20:00) [1]Выборку делает Query2
select foto from inf_pers where fio='...'
query3, как я уже писал
update kirovtelecom_pers
set foto = :fot
where fio='...'
Поле fio содержит уникальные значения
(хотя это и не совсем корректно)
msguns (2005-05-23 14:17:00) [2]Query3 делает выборку по условию-картинке ?
aleliko (2005-05-23 14:11:00) [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'
Происхождение этой ошибки я вообще разгадать не могу
ДНК ...
Johnmen (2005-05-23 13:39:00) [4]...и что такое ADOQuery3 ?
Zacho (2005-05-23 13:30:00) [5]aleliko © (23.05.05 13:22)
Но прога не работает =\
Подскажите, пожалуйста, в чем ошибка?
В ДНК.
А конкретно, в нежелании написать корректный вопрос.
Что значит "не работает" ??? Где текст сообщения об ошибке ? Где указаны СУБД и компоненты доступа ???
Или ты думаешь что это форум телепатов ?
RTFM http://ln.com.ua/~openxs/articles/smart-questions-ru.html