Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

Как на SQL записать код символа вместо его явного указания?   Найти похожие ветки 

 
Shama_n ©   (2004-07-14 15:23) [0]

Нужно организовать функцию сохранения таблицы в SQL файл но в некоторых записях присутствуют запрещенные символы. Естественно после выполнения такого SQL запроса вылетит ошибка. Есть методы замещения таких символов их кодом?


 
Reindeer Moss Eater ©   (2004-07-14 15:26) [1]

Интересно, что такое "символ сам по себе" и "его код"?

И что будет если первый заменить вторым.
И что такое SQL файл.
Интересна!


 
Shama_n ©   (2004-07-14 15:31) [2]

Reindeer Moss Eater>
Символ=буква
насчет кода- http://www.belgorod.fio.ru/web_master/scool32/page16.htm
SQL файл это обычный текстовый файл с набором SQL инструкций


 
bushmen ©   (2004-07-14 15:37) [3]

> функцию сохранения таблицы

Это как? Я всегда думал, что функция что-либо считает. И потом, у таблицы есть структура и в ней могут быть данные. Что тебе надо сохранить? И какие там запрещенные символы? Каким ветром их туда занесло? :)


 
Reindeer Moss Eater ©   (2004-07-14 15:39) [4]

Символ=буква

Я бы сказал, что как раз наоборот. Буква - это символ.
А символ - необязательно буква.

Если есть понятие запрещенных символов для сервера, то махинации со вставкой "не символов", а "их кодов" ничего не дадут. Ибо это одно и то же.


 
Соловьев ©   (2004-07-14 15:41) [5]


> присутствуют запрещенные символы

приведите пример


 
Reindeer Moss Eater ©   (2004-07-14 15:47) [6]

Есть методы замещения таких символов их кодом

Конечно есть.

Когда символ (даже разрешенный :) ) вставляется в поле БД, то втсавляется байт, значение которого равно коду этого символа, а вовсе не "геометрические очертания печатного символа" :)


 
Shama_n ©   (2004-07-14 15:48) [7]

Существует таблица её структуру и данные нужно сохранить в файл
Создаем обычный текстовый файл c:
CREATE TABLE ... описываем структуру таблицы
INSERT INTO... заполняем её данными

В итоге получим файл который можно выполнить практически в любой программе администрирования БД. Проблемма в том что в данных может присутствовать допустим кавычка и тогда INSERT INTO вылетит с ошибкой. Если её не указывать явным образом а заменить на код то все должно пройти без ошибок. Только как заменить догнать пока не получилось


 
Reindeer Moss Eater ©   (2004-07-14 15:49) [8]

Только как заменить догнать пока не получилось

Читай [6] и оставь свои надежды.


 
bushmen ©   (2004-07-14 15:51) [9]

> в данных может присутствовать допустим кавычка

А кто сказал, что это запрещенный символ?


 
Shama_n ©   (2004-07-14 15:52) [10]

Когда символ (даже разрешенный :) ) вставляется в поле БД, то втсавляется байт, значение которого равно коду этого символа, а вовсе не "геометрические очертания печатного символа" :)
Reindeer Moss Eater> Давай без лирики. Есть конкретная ситуация и ее нужно решить а не дураком меня выставлять


 
Reindeer Moss Eater ©   (2004-07-14 15:52) [11]

Вот опять родился чел, не знающий правила удвоения кавычек.
:)
Заменитель символов буквами :)


 
Reindeer Moss Eater ©   (2004-07-14 15:53) [12]

Давай без лирики.

Давай без давай.


 
Shama_n ©   (2004-07-14 15:54) [13]

А кто сказал, что это запрещенный символ?
MySQL вылетает с ошибкой на одинарной кавычке. И суть вообще не в кавычке а в способе замещения запрещенных символов


 
Reindeer Moss Eater ©   (2004-07-14 15:56) [14]

[11]


 
Reindeer Moss Eater ©   (2004-07-14 15:57) [15]

MySQL вылетает с ошибкой на одинарной кавычке.

Но он при этом не говорит, что это ЗАПРЕЩЕННЫЙ СИМВОЛ


 
Reindeer Moss Eater ©   (2004-07-14 15:59) [16]

insert into table values("Shaman""s mistake");


 
bushmen ©   (2004-07-14 15:59) [17]

> И суть вообще не в кавычке а в способе замещения запрещенных символов

Да нету такого :) Тебе ответили в [9] и [11].
А на что спорим, что я вставлю кавычку в MySQL БЕЗ какого-либо замещения? :)))


 
bushmen ©   (2004-07-14 16:01) [18]

> Reindeer Moss Eater ©   (14.07.04 15:59) [16]

Ты немного поторопился - вопрос по MySQL


 
Reindeer Moss Eater ©   (2004-07-14 16:03) [19]

А что там удвоение не действует?


 
Shama_n ©   (2004-07-14 16:04) [20]

Но он при этом не говорит, что это ЗАПРЕЩЕННЫЙ СИМВОЛ
После замещения одинарных кавычек допустим пробелом SQL запрос выполняется


 
Reindeer Moss Eater ©   (2004-07-14 16:05) [21]

Но он при этом не говорит, что это ЗАПРЕЩЕННЫЙ СИМВОЛ
После замещения одинарных кавычек допустим пробелом SQL запрос выполняется


Это не говорит, что символ кавычки ЗАПРЕЩЕННЫЙ.


 
bushmen ©   (2004-07-14 16:11) [22]

> После замещения одинарных кавычек допустим пробелом SQL запрос выполняется

Ты в чем проверяешь? В Delphi или командной строке?


 
bushmen ©   (2004-07-14 16:13) [23]

> Reindeer Moss Eater ©   (14.07.04 16:03) [19]

Я о другом хотел сказать. В MySQL в качестве ограничителей текстовой строки идут кавычки, а не апострафы. Поэтому, если он хочет запускать свой файл в командной строке, то надо писать кавычки.


 
Reindeer Moss Eater ©   (2004-07-14 16:17) [24]

У него кавычки или апострофы внутри строки.
И когда он их заменяет пробелами, все работает.

Если бы он заменял ограничители строки пробелами и все работало, то блин ..... Впрочем я не знаю MySQL вообще .

А мой пример был на то, что чел поймет, что внутри строки свои кавычки или апострофы (что там разделителями выступает) надо удваивать.


 
Reindeer Moss Eater ©   (2004-07-14 16:18) [25]

Но похоже он так и не понял этого.


 
bushmen ©   (2004-07-14 16:26) [26]

Значит, не судьба :)))


 
Shama_n ©   (2004-07-14 16:32) [27]

Да знаю я про удвоение. Хотел найти универсальный способ замещения любых служебних символов но похоже такого способа нет.
Ты в чем проверяешь? В Delphi или командной строке?
просто сформированый файл в DB Manager Pro запускаю на выполнение


 
Nikolay M. ©   (2004-07-14 16:47) [28]

Во-первых, всегда можно создать блоб-поле и посмотреть дамп в том виде, каким его выдаст mysqldump - узнаешь много полезного. А, во-вторых, chr(код_символа) пока еще никто не отменял.


 
bushmen ©   (2004-07-14 16:50) [29]

> chr(код_символа)

Боюсь, что для самого сервера это все-равно будет исходный символ


 
Nikolay M. ©   (2004-07-14 16:52) [30]


> bushmen ©   (14.07.04 16:50) [29]
> > chr(код_символа)
>
> Боюсь, что для самого сервера это все-равно будет исходный
> символ

Дык а автору что нужно?
INSERT INTO tab (f)
VALUES (chr(10))
Ы?


 
Shama_n ©   (2004-07-14 16:55) [31]

Если есть понятие запрещенных символов для сервера, то махинации со вставкой "не символов", а "их кодов" ничего не дадут. Ибо это одно и то же
Понятия запрещенных символов для сервера насколько я знаю не существует. Я имеюю ввиду символы которые могут совпадать с символами SQL запроса.
Вообще вопрос возник исходя из мыслей о том что есть возможность передать SQL интерпритатору команду передающую непосредственно КОД символа чтоб или допустим значение всей строки в двоичном формате но похоже обычным строковым SQL запросом это сделать невозможно, только если через параметры. Только вот параметры в моем случае негде указывать.
Будем значит по старинке юзать удвоение и прочие извращения
---Закрываем ветку---


 
Reindeer Moss Eater ©   (2004-07-14 16:56) [32]

Ы?

Если бы автор не твердил упорно о замене запрещенных символов, то этого решения никто бы не отвергал.


 
Reindeer Moss Eater ©   (2004-07-14 16:58) [33]

Если есть понятие запрещенных символов ....
Просто надо приводить точные тексты сообщений об ошибках, а не свои вольные интрепретации этих сообщений.


 
Shama_n ©   (2004-07-14 16:59) [34]

chr(код_символа)
Именно это я и спрашивал
Боюсь, что для самого сервера это все-равно будет исходный символ
Возможно...


 
Nikolay M. ©   (2004-07-14 17:04) [35]


> Reindeer Moss Eater ©   (14.07.04 16:56) [32]
> Ы?
>
> Если бы автор не твердил упорно о замене запрещенных символов,
> то этого решения никто бы не отвергал.

Бред какой-то, имхо. Даже перечитал еще раз ветку, не фига не понял :(
Если не трудно, что такое "запрещенные" символы, если кто-нибудь понял?


 
Shama_n ©   (2004-07-14 17:18) [36]

Бред какой-то, имхо. Даже перечитал еще раз ветку, не фига не понял :(
Если не трудно, что такое "запрещенные" символы, если кто-нибудь понял?

Да я уже сам запутался :)



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

Форум: "Базы";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.04 c
1-1090512497
ййй
2004-07-22 20:08
2004.08.08
Image


14-1090491340
DJ DIZzY
2004-07-22 14:15
2004.08.08
А как сделать кнопку выход???


14-1090244953
PokSer
2004-07-19 17:49
2004.08.08
:))


3-1089718699
belkova
2004-07-13 15:38
2004.08.08
Вычисляемые поля


14-1090168102
zamkom
2004-07-18 20:28
2004.08.08
Скачать кино





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский