Добавить запись в BLOB из TMemo

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Добавить запись в BLOB из TMemo

Сообщение AkANz » 20.09.2010 08:08:21

Добрго времен суток.

Подскажите, пожалуйста, каким образом добавить в поле NAME_DS_DOPOLNEN с типом BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET UTF8 данные из TMemo.
На форме fmDiagnos лежит TMemo mDsDopolnen. По нажатии кнопки сохранить (запрос для примера упрощен):

Код: Выделить всё
quTemp.SQL.Clear;
quTemp.SQL.Add('INSERT INTO ds_hospital (name_ds_dopolnen) 'VALUES (:name_ds_dopolnen)'); 
quTemp.Params.ByNameAsString['name_ds_dopolnen'] := fmDiagnos.mDsDopolnen.Lines.Text;
quTemp.ExecSQL;   

Ошибка: BLOB and array data types are not supported for move operation
Incompatible column/host variable data type

quTemp это UIBQuery из набора компонентов UIB 2.1
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Re: Добавить запись в BLOB из TMemo

Сообщение Vadim » 20.09.2010 10:41:49

AkANz
Замените компонент TMemo на TDBMemo.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Добавить запись в BLOB из TMemo

Сообщение AkANz » 20.09.2010 11:19:19

Vadim писал(а):Замените компонент TMemo на TDBMemo.


Не помогает
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край

Re: Добавить запись в BLOB из TMemo

Сообщение Vadim » 20.09.2010 13:25:31

В каком смысле не помогает? TDBMemo прямо связан с полем BLOB. Надо только транзакцию подтвердить после изменения данных в DBMemo.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Добавить запись в BLOB из TMemo

Сообщение svk12 » 20.09.2010 13:26:48

Стоит попробовать обойтись без параметров:

Код: Выделить всё
quTemp.SQL.Clear;
quTemp.SQL.Add('INSERT INTO ds_hospital (name_ds_dopolnen)  VALUES ('''+fmDiagnos.mDsDopolnen.Lines.Text+''')');
quTemp.ExecSQL; 
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: Добавить запись в BLOB из TMemo

Сообщение alexs » 20.09.2010 23:08:18

svk12 писал(а):Стоит попробовать обойтись без параметров:

Самы не правильный метод.
Нельза напрямую текст писать в скрипт
Представь - что получится - если в тексте написать конструкцию типа:
Код: Выделить всё
  '); delete from ds_hospital where (0=0

первая кавычка обязательна :-)

Это UIB (и птиц) не преобразует это к двум последовательным командам. А вот есть сервера - не будем показывать пальцем, которые такой финт сделают. И что будет в итоге?
надо делать только через параметры.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Добавить запись в BLOB из TMemo

Сообщение svk12 » 21.09.2010 10:33:39

Ну без двоеточия это будет не скрипт, а запрос, напрямую передаваемый серверу.
Вот только с какой версии птюч разрешает прямую запись текста в блоб, уже не помню.
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: Добавить запись в BLOB из TMemo

Сообщение AkANz » 21.09.2010 11:01:25

Решил вопрос заменой UIBQuery на FBDataSet от Алексея Лагунова.
AkANz
новенький
 
Сообщения: 26
Зарегистрирован: 16.03.2010 13:59:02
Откуда: Алтайский край


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56

Рейтинг@Mail.ru