![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как на SQL записать код символа вместо его явного указания?
Shama_n © (2004-07-14 15:23:00)Нужно организовать функцию сохранения таблицы в SQL файл но в некоторых записях присутствуют запрещенные символы. Естественно после выполнения такого SQL запроса вылетит ошибка. Есть методы замещения таких символов их кодом?
Shama_n (2004-07-14 17:18:00) [1]
Бред какой-то, имхо. Даже перечитал еще раз ветку, не фига не понял :(
Если не трудно, что такое "запрещенные" символы, если кто-нибудь понял?
Да я уже сам запутался :)
Nikolay M. (2004-07-14 17:04:00) [2]
> Reindeer Moss Eater © (14.07.04 16:56) [32]
> Ы?
>
> Если бы автор не твердил упорно о замене запрещенныхсимволов,
> то этого решения никто бы не отвергал.
Бред какой-то, имхо. Даже перечитал еще раз ветку, не фига не понял :(
Если не трудно, что такое "запрещенные" символы, если кто-нибудь понял?
Shama_n (2004-07-14 16:59:00) [3]
chr(код_символа)
Именно это я и спрашивал
Боюсь, что для самого сервера это все-равно будет исходный символ
Возможно...
Reindeer Moss Eater (2004-07-14 16:58:00) [4]Если есть понятие запрещенных символов ....
Просто надо приводить точные тексты сообщений об ошибках, а не свои вольные интрепретации этих сообщений.
Reindeer Moss Eater (2004-07-14 16:56:00) [5]Ы?
Если бы автор не твердил упорно о замене запрещенныхсимволов, то этого решения никто бы не отвергал.
Shama_n (2004-07-14 16:55:00) [6]
Если есть понятие запрещенных символов для сервера, то махинации со вставкой "не символов", а "их кодов" ничего не дадут. Ибо это одно и то же
Понятия запрещенных символов для сервера насколько я знаю не существует. Я имеюю ввиду символы которые могут совпадать с символами SQL запроса.
Вообще вопрос возник исходя из мыслей о том что есть возможность передать SQL интерпритатору команду передающую непосредственно КОД символа чтоб или допустим значение всей строки в двоичном формате но похоже обычным строковым SQL запросом это сделать невозможно, только если через параметры. Только вот параметры в моем случае негде указывать.
Будем значит по старинке юзать удвоение и прочие извращения
---Закрываем ветку---
Nikolay M. (2004-07-14 16:52:00) [7]
> bushmen © (14.07.04 16:50) [29]
> > chr(код_символа)
>
> Боюсь, что для самого сервера это все-равно будет исходный
> символ
Дык а автору что нужно?
INSERT INTO tab (f)
VALUES (chr(10))
Ы?
bushmen (2004-07-14 16:50:00) [8]> chr(код_символа)
Боюсь, что для самого сервера это все-равно будет исходный символ
Nikolay M. (2004-07-14 16:47:00) [9]Во-первых, всегда можно создать блоб-поле и посмотреть дамп в том виде, каким его выдаст mysqldump - узнаешь много полезного. А, во-вторых, chr(код_символа) пока еще никто не отменял.
Shama_n (2004-07-14 16:32:00) [10]Да знаю я про удвоение. Хотел найти универсальный способ замещения любых служебних символов но похоже такого способа нет.
Ты в чем проверяешь? В Delphi или командной строке?
просто сформированый файл в DB Manager Pro запускаю на выполнение
bushmen (2004-07-14 16:26:00) [11]Значит, не судьба :)))
Reindeer Moss Eater (2004-07-14 16:18:00) [12]Но похоже он так и не понял этого.
Reindeer Moss Eater (2004-07-14 16:17:00) [13]У него кавычки или апострофы внутри строки.
И когда он их заменяет пробелами, все работает.
Если бы он заменял ограничители строки пробелами и все работало, то блин ..... Впрочем я не знаю MySQL вообще .
А мой пример был на то, что чел поймет, что внутри строки свои кавычки или апострофы (что там разделителями выступает) надо удваивать.
bushmen (2004-07-14 16:13:00) [14]> Reindeer Moss Eater © (14.07.04 16:03) [19]
Я о другом хотел сказать. В MySQL в качестве ограничителей текстовой строки идут кавычки, а не апострафы. Поэтому, если он хочет запускать свой файл в командной строке, то надо писать кавычки.
bushmen (2004-07-14 16:11:00) [15]> После замещения одинарных кавычек допустим пробелом SQL запрос выполняется
Ты в чем проверяешь? В Delphi или командной строке?
Reindeer Moss Eater (2004-07-14 16:05:00) [16]Но он при этом не говорит, что это ЗАПРЕЩЕННЫЙ СИМВОЛ
После замещения одинарных кавычек допустим пробелом SQL запрос выполняется
Это не говорит, что символ кавычки ЗАПРЕЩЕННЫЙ.
Shama_n (2004-07-14 16:04:00) [17]
Но он при этом не говорит, что это ЗАПРЕЩЕННЫЙ СИМВОЛ
После замещения одинарных кавычек допустим пробелом SQL запрос выполняется
Reindeer Moss Eater (2004-07-14 16:03:00) [18]А что там удвоение не действует?
bushmen (2004-07-14 16:01:00) [19]> Reindeer Moss Eater © (14.07.04 15:59) [16]
Ты немного поторопился - вопрос по MySQL
bushmen (2004-07-14 15:59:00) [20]> И суть вообще не в кавычке а в способе замещения запрещенных символов
Да нету такого :) Тебе ответили в [9] и [11].
А на что спорим, что я вставлю кавычку в MySQL БЕЗ какого-либо замещения? :)))