Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сделать запись в поле CLOB [D7, 10]


Atum ©   (2011-05-04 13:20:00) 

Доброго здоровья коллеги.

Подскажите пожалуйста как правильно из приложения на Delphi записать данные в поле с типом CLOB. Сама запись - это XML сформированный в TMemo.
Получается вот такой текст:

'<description>
  <id>44</id>
  <id>62</id>
......................
</description>'

В программе сохранение делаю вот так:

SQL.Add('insert into tmpxml (xml_сlob) values (:fсl)');
ParamByName('fсl').LoadFromStream(MemStream, ftBlob);
ExecSQL;

но в поле получается куча цифр вида - 273C6465736372697074696F6E3E0D0A2020203C69643E33373C2F69643E0D0A20........

Цель вообще стоит получить в итоге значение с типом XMLType путем преобразования. Но значение в строке не хочет преобразовываться в целевой тип и все тут.


Игорь Шевченко   (2011-05-04 14:24:00) [1]


> ну да


небольшая поправка - все зависит от компонентов доступа к СУБД


Atum   (2011-05-04 14:24:00) [2]

> Медвежонок Пятачок ©   (04.05.11 14:13) [6]

16 тысяч символов не осилил

Все получилось. Всем огромное спасибо.))))


Игорь Шевченко   (2011-05-04 14:20:00) [3]


> Да неужели?


ну да


Медвежонок Пятачок   (2011-05-04 14:13:00) [4]

Потому что количество символов больше чем себе может позволить строка

Да неужели?


Atum   (2011-05-04 14:04:00) [5]

>Медвежонок Пятачок ©   (04.05.11 13:46) [3]

>а почему просто не присвоить параметру значение через AsString?

Потому что количество символов больше чем себе может позволить строка

>Игорь Шевченко ©   (04.05.11 13:48) [4]

C MemStream  все хорошо.
Поправил на ftMemo и в поле CLOB появился удобочитаемый текст


Игорь Шевченко   (2011-05-04 13:48:00) [6]


> ParamByName('fсl').LoadFromStream(MemStream, ftBlob);


в MemStream точно все хорошо ?
тип параметра fcl точно ftMemo ?


Медвежонок Пятачок   (2011-05-04 13:46:00) [7]

а почему просто не присвоить параметру значение через AsString?


Atum   (2011-05-04 13:42:00) [8]

>Игорь Шевченко ©   (04.05.11 13:23) [1]

>какими компонентами пользуешься ?

UniDAC 3.70.0.17 for Delphi7


Игорь Шевченко   (2011-05-04 13:23:00) [9]

какими компонентами пользуешься ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо