Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

И снова картинки ...   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1117565007
NightStranger
2005-05-31 22:43
2005.06.29
С чего все начинали


1-1118062729
Andrey Kononov
2005-06-06 16:58
2005.06.29
Как проверить является ли экземпляр потомком класса


3-1116507782
msguns
2005-05-19 17:03
2005.06.29
Точное позиционирование в DBGrid


9-1106052894
_Дельфин_
2005-01-18 15:54
2005.06.29
Помогите найти DirectX


14-1117599953
emfw
2005-06-01 08:25
2005.06.29
Стоимость АИС