Главная страница
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.027 c
14-1083946474
windows
2004-05-07 20:14
2004.05.30
как вообще программированием интересно заниматься?


7-1083439078
Dimaxx
2004-05-01 23:17
2004.05.30
Регистрация кодека в системе


8-1080216881
nomshar
2004-03-25 15:14
2004.05.30
Апросксимация функций кривых


14-1084469473
хз
2004-05-13 21:31
2004.05.30
UI дизайн


7-1082307115
DK
2004-04-18 20:51
2004.05.30
подавить реакцию Windows на CTRL+ALT+DEL (в XP-ке)