Вниз
Скачать: CL | DM;

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

← →
Shama_n ©   (2004-07-13 15:36) [0]

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


← →
Johnmen ©   (2004-07-13 15:53) [1]

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


← →
Shama_n ©   (2004-07-13 16:05) [2]

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


← →
Johnmen ©   (2004-07-13 16:14) [3]

>Shama_n ©

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

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

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


← →
Shama_n ©   (2004-07-13 16:45) [4]

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

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

ITEMDESCR это BLOB поле.

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


← →
Johnmen ©   (2004-07-13 16:47) [5]

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


← →
Курдль ©   (2004-07-13 16:53) [6]

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


← →
Shama_n ©   (2004-07-13 17:17) [7]

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


← →
Shama_n ©   (2004-07-13 19:31) [8]

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


← →
афвуд   (2004-07-13 19:36) [9]

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


← →
афвуд   (2004-07-13 19:36) [10]

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

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


← →
Shama_n ©   (2004-07-13 19:51) [11]

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


← →
sniknik ©   (2004-07-13 20:01) [12]

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


← →
Shama_n ©   (2004-07-13 21:20) [13]

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


← →
Shama_n ©   (2004-07-14 14:00) [14]

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



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.028 c
14-1090484068
Festa
2004-07-22 12:14
2004.08.08
Что правильнее?


14-1090360772
matt
2004-07-21 01:59
2004.08.08
Зеленый чай


14-1090242201
pasha_golub
2004-07-19 17:03
2004.08.08
Шахматы: извращения, байки, приколы и т.д.


1-1090845574
chirchik
2004-07-26 16:39
2004.08.08
Splash Screen


14-1090437143
VID
2004-07-21 23:12
2004.08.08
Посмеёмся :)




   Наверх