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

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

Как на SQL записать текстовую строку в BLOB поле? [D7, IB6.x]


Shama_n ©   (2004-07-13 15:36:00) 

Как правильно сформировать SQL запрос для записи текстовой строки в BLOB поле. При последовательном доступе все просто, DBMemo хранит в нем данные без всяких проблем а вот обновить запись с помощью SQL запроса с клиентских машин не получается


Shama_n   (2004-07-14 14:00:00) [1]

Получилось наконец через TMemoryStream в пареметр SQL запроса запихать. Спасибо всем за помощь


Shama_n   (2004-07-13 21:20:00) [2]

Принцип дальнейших действий ясен, осталось добиться рабочего кода :)


sniknik   (2004-07-13 20:01:00) [3]

Shama_n ©   (13.07.04 19:51) [11]
им можно загонять данные в блобовые переменные. и правильнее (чем в запрос вставлять), и ошибок меньше (в большом тексте больше вероятности недопустимых символов для прямой вставки в запрос) и запрос читабельнее в общем получится (маленькая переменная вместо большого куска текста разрывающено запрос).


Shama_n   (2004-07-13 19:51:00) [4]

как TMemoryStream может помочь в формировании SQL запроса?


афвуд   (2004-07-13 19:36:00) [5]

Можно же прямо через TBlobField - у него там есть метод SavetoStram и LoadFromStream.
А у TString тоже. Вот можно и организовать обмен через TMemoryStream.
Utvjhhhjz может и больше но сдаётся мне так правильней будет.


афвуд   (2004-07-13 19:36:00) [6]

Исправляя предыдущщее:

Можно же прямо через TBlobField - у него там есть метод SavetoStram и LoadFromStream.
А у TStrings тоже. Вот можно и организовать обмен через TMemoryStream.
Геморрроя может и больше, но сдаётся мне так правильней будет.


Shama_n   (2004-07-13 19:31:00) [7]

Johnmen ©> Раньше с параметрами не работал поэтому тяжко немного
Где я ошибаюсь?:
В параметре DataType выставляю  ftBlob
Value Type в String
в Value пишу тектовую строку
После запуска SQL запроса вылетает ошибка Unexpected end of command


Shama_n   (2004-07-13 17:17:00) [8]

Курдль © > Текст большой, VARCHAR может не хватить


Курдль   (2004-07-13 16:53:00) [9]

А я вот думаю - нафиг данные из DBMemo хранить в BLOB-поле?


Johnmen   (2004-07-13 16:47:00) [10]

UPDATE ITEMS
ITEMDESCR = :BLOBParam
WHERE NAMEITEM = "...";


Shama_n   (2004-07-13 16:45:00) [11]

Немного не понял про параметры. Если быть точней то добавление данных не требуется, нужно редактирование

Вот пример:
UPDATE ITEMS
ITEMDESCR = "Проверка"
WHERE NAMEITEM = "...";

ITEMDESCR это BLOB поле.

имеешь ввиду так?
UPDATE ITEMS
ITEMDESCR = VALUES ("Проверка")
WHERE NAMEITEM = "...";


Johnmen   (2004-07-13 16:14:00) [12]

>Shama_n ©

Через параметр получится всегда :)

INSERT INTO ... (...,BLOBField,...) VALUES (...,:BLOBParam,...)

...ParamByName('').Value:='"Торопиться не надо..." (c)';
или
...ParamByName('').LoadFromStream(...);


Shama_n   (2004-07-13 16:05:00) [13]

Johnmen> Так не работает
IB ругается что тип данных не соответствует


Johnmen   (2004-07-13 15:53:00) [14]

А что, так не работает
INSERT INTO ... (...,BLOBField,...) VALUES (...,'"Торопиться не надо..." (c)',...)


Наверх

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