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

Вниз

Как работать с BLOB при использовании UPDATE ?   Найти похожие ветки 

 
Malder   (2002-03-05 19:22) [0]

Как передавать поле BLOB при использовании UPDATE ?


 
Malder   (2002-03-05 19:58) [1]

Проблема в том, что как я понял, в UPDATE нельзя применять параметры. Типа SET Pole=:p1


 
evgeg ©   (2002-03-05 20:57) [2]

Параметры не могут быть типа blob в Дельфи 1-2. В Дельфи 3 уже можно. У тебя какая? Или ты не BDE используешь?


 
Malder ©   (2002-03-06 15:38) [3]

У меня пятая Delphi (это, кстати, в заголовке топика отражено). Я использую BDE (то есть Tquery и Tdatabase).

Проблема поподробнее вот в чем.
Если написать что-то вроде:

query1.SQL.add(UPDATE Table SET Pole=:p1 WHERE Pole2="TEST");
query1.params.FieldByName("p1")asBlob:=Memo1.lines.text;
query1.ExecSQL;


То он говорит, что ему что-то не нравится. Точно не помню, типа не поддерживаются параметры для данного оператора (Update).

А как тогда передавать Blob поля для обновления ?
вот в чем вопрос...


 
Reindeer Moss Eater   (2002-03-06 15:58) [4]

Assign, LoadFromFile, ....


 
Malder ©   (2002-03-06 16:07) [5]

Reindeer Moss Eater, не понял. Можно поподробнее ?
Где писать Assign ?
query1.params.FieldByName("p1").assign(...) ?
не пойдет...


 
Lusha ©   (2002-03-06 17:00) [6]

>Malder
1. У TParams нет метода FieldByName
2. А почему бы Вам не написать так:
query1.params.paramByName("p1").AsString:=Memo1.lines.text;

Удачи



 
Reindeer Moss Eater   (2002-03-06 18:21) [7]


Query1.ParamByName("p1").Assign(Memo1.Lines);
Query1.ParamByName("p1").LoadFromFile("C:\Test.txt");
Query1.ParamByName("p1").LoadFromStream(SomeStream,ftMemo);



 
Malder ©   (2002-03-06 22:41) [8]

Я просто в шоке. НАРОД.
Выполняю такой код:


SQL.clear;
params.Clear ;
SQL.add("UPDATE Table SET Fax="222" WHERE Telefon="111"");
execSQL;


ЧТО ЗДЕСЬ МОЖЕТ БЫТЬ НЕПРАВИЛЬНОГО ?!
Видно, из-за этого у меня и Blob не работает...
Сначала у меня был сложный UPDATE, я его постепенно упрощал и вот доупращался... КУДА ПРОЩЕ ? Я вообще ничего не понимаю.

Причем, если запись, где телефон равен 111 не существует, то ошибок нет, а если есть такая запись, то:

... raised Exception class EDBEngineError with message "General SQL error. feature not supported
BLOB and array data types not supported for compare operation". Process stopped. Use step or Run to continue."


ЧТО ЗА ОШИБКА ? ОТКУДА ? ПОЧЕМУ ? Я необрываю код. Он такой и есть. Пользователю под которым работаю разрешен UPDATE таблицы....
ой блииин.....у кого ХОТЬ какие идеи есть ?


 
Lusha ©   (2002-03-07 09:17) [9]

А какой тип у поля Telefon?


 
Malder ©   (2002-03-07 10:06) [10]

Что у Telefon, что у Fax поле типа Char(n)
блин... вот надо ж так...


 
Lusha ©   (2002-03-07 10:10) [11]

А какова величина n?


 
Malder ©   (2002-03-07 23:25) [12]

n=16 и у телефона и у факса


 
Lusha ©   (2002-03-08 10:20) [13]

А этот запос средствами IB выполняется?


 
Malder ©   (2002-03-08 13:13) [14]

Lusha, что-то я не очень понял. Если сервер Interbase (а у меня Interbase), то естесственно запрос выполняется интербэйсом.

Только вот я слышал, Query как то может преобразовывать SQL комманды перез отправкой на сервер, но тут я ничего не знаю...


 
Lusha ©   (2002-03-08 16:04) [15]

Я имел в виду не чем он (запрос) выполняется, а выполняется ли он в принципе...



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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
1-88
DimaIv
2002-03-20 09:04
2002.04.01
Есть GroupBox с надписью внутри него находится ProgressBar


14-314
phantom2040
2002-02-20 14:11
2002.04.01
Сервер удаленного доступа на XP


1-145
ЗЛ
2002-03-22 07:36
2002.04.01
Eсть ListBox внем 300 записей, каждые пол секунды я вывожу в label запись начиная с первой и заканчивая последней как мне сделать к этому действию ProgresBar


1-150
СиндяшкинДВ
2002-03-21 07:13
2002.04.01
Поддержка DWG


6-260
KaPaT
2002-01-20 01:39
2002.04.01
Очень простой вопрос!