![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как на 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)',...)