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

Вниз

Хранимая процедура - запрос - BLOB - поле   Найти похожие ветки 

 
TATIANA   (2004-05-05 09:52) [0]

Здравствуйте господа мастера !
База создана в IBExpert , использую компонент - IBQuery , IBStoredProc , Image (показываю на форме) . Работаю с базой через хранимые процедуры , запрос сделанный с помощью IBQuery1 не может изменяться .
if OpenPictureDialog1.Execute then
   Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
 B1STR := TStringStream.Create("");
 Image1.Picture.Graphic.SaveToStream(B1STR);
 IBQuery1PLAN_KV.LoadFromStream(B1STR);
 B1STR.Free;
.....
IBStoredProc1.ParambyName("plan_kv").AsBlob := IBQuery1["PLAN_KV"];
  IBStoredProc1.Prepare;
  IBStoredProc1.ExecProc;
  IBStoredProc1.UnPrepare
При записи из потока в поле -
 IBQuery1PLAN_KV.LoadFromStream(B1STR);
дает сообщение об ошибке : "Not edit mode" .
Поле записывается в базу , но это сообщение очень раздражает .
Вопрос такой :
 Как записать передачу BLOB-поля в хранимую процедуру минуя запись - IBQuery1PLAN_KV.LoadFromStream(B1STR); ?
Всем спасибо .
Поздравляю всех с прошедшими и наступающими праздниками .


 
Курдль ©   (2004-05-05 10:02) [1]

Может так:

IBQuery1.Edit;
IBQuery1PLAN_KV.LoadFromStream(B1STR);
IBQuery1.Post;


 
TATIANA   (2004-05-05 12:08) [2]

Проблема в том , что с IBQuery1 методы Edit и Post не работают .


 
Johnmen ©   (2004-05-05 12:21) [3]

Работают.
UpdateObject+F1


 
Соловьев ©   (2004-05-05 12:31) [4]


> TATIANA   (05.05.04 12:08) [2]

IBDataSet - самое оно


 
TATIANA   (2004-05-05 15:34) [5]

Все это хорошо . UpdateObjct требует наличия IBUpdateSQL , а в нем есть 3 строки :
- ввод ;
- удаление ;
- изменение ;
Я работаю с данными с помощью хранимых процедур (IBStoredProc) ,
мне придется делать лишние действия .


 
Соловьев ©   (2004-05-05 15:38) [6]


> TATIANA   (05.05.04 15:34) [5]

А где сказано что с ХП нельзя работать через запрос? наоборот рекомендуют :)


 
Johnmen ©   (2004-05-05 15:46) [7]

>TATIANA  

>IBQuery1PLAN_KV.LoadFromStream(B1STR);
>Я работаю с данными с помощью хранимых процедур (IBStoredProc) ,

Здесь явное противоречие...


 
TATIANA   (2004-05-05 16:22) [8]

IBQuery1PLAN_KV.LoadFromStream(B1STR);
Потому и задала вопрос , что не знаю как правильно , а на этой строке дает сообщение .


 
TATIANA   (2004-05-07 09:56) [9]

Господа , здравствуйте !
Возвращаюсь к нашему любимому вопросу .
Заменила IBQuery на IBDataSet1 и что-то неправильно в этой записи , а что не знаю , пожалуйста подскажите :
IBDataSet1.ModifySQL.Clear;
 IBDataSet1.ModifySQL.Add("update KVARTIRA set PLAN_KV = :PLAN_KV ");
 IBDataSet1.ModifySQL.Add("where KOD_KVAR = :OLD_KOD_KVAR");
 IBDataSet1.Params[0].LoadFromStream(b1str);
 IBDataSet1.Params[1].AsInteger := IBDataSet1["kod_kvar"];
 IBDataSet1.ExecSQL;
На строке -
  IBDataSet1.Params[0].LoadFromStream(b1str);
дает ошибку - "XSQLDA index out of range" .
Спасибо всем .


 
Johnmen ©   (2004-05-07 10:13) [10]

http://ixbt.wallst.ru/ib/i00001.html
и на ibase.ru есть много материала



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1084595929
IrBisoff
2004-05-15 08:38
2004.05.30
Как правильно очистить массив элементов ?


14-1084354622
Романов Р.В.
2004-05-12 13:37
2004.05.30
Опрос - экстренное программирование


1-1084863703
Dysan
2004-05-18 11:01
2004.05.30
указать дату создания файла?


3-1084352372
chtr
2004-05-12 12:59
2004.05.30
Как разом вставить все записи из одного TADOQuery в другой


1-1084971857
sesh
2004-05-19 17:04
2004.05.30
Как быстро и просто сохранить 4 грида в 1 тектстовый файл