powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / INSERT и спец. символы
5 сообщений из 5, страница 1 из 1
INSERT и спец. символы
    #35672780
UNI_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All! Помогите пожалуйста такой момент уладить.
Код: plaintext
1.
2.
str = "Seven O'Clock"
MySQLRecordset.Open "INSERT INTO table (column) VALUES (" & str & ")", MySQLConnection
Проблема собственно в том, что при попытке выполнить такой запрос, возникает ошибка. Неправильный синтаксис INSERT bla bla bla... оно и понятно, символ ' недопустим. Как же выполнить запрос, не избавляясь от "лишних" символов?
...
Рейтинг: 0 / 0
INSERT и спец. символы
    #35672788
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специальные символы надо "эскейпить". То есть предварять специальный символ другим специальным символом. Этот символ зависит от того какая база данных, но обычно используется обратный слеш.
Код: plaintext
str = "Seven O\'Clock"
Так же, апострофы и двойные кавычки (и только их, потому что они являются ограничителями строк!) иногда можно эскейпить удваивая:
Код: plaintext
str = "Seven O''Clock"
Учти, что если язык сам по себе требует эскейпить кавычки и апострофы, то надо будет их учетверять:
Код: plaintext
str = "Seven O''''Clock"
Сначала транслятор языка превратит это в Seven O''Clock и вставит в таком виде в строку с sql командой, а потом база данных поймет это как Seven O'Clock.
Хотя VB апострофы не считает за спец-символ внутри строки и соответственно учетверение не требуется.
...
Рейтинг: 0 / 0
INSERT и спец. символы
    #35672804
UNI_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 White Owl , спасибо, камрад. Я со слэшем пробовал, не получалось, а вот двойной апостраф как раз то, что нужно. Ещё небольшое уточнение. Какие ещё спец. символы пофиксить нужно? Я, например, успел заметить что \ при INSERT'е в результате из строки исчезает, а вот / остается на месте. Наверное ещё есть какие-то символы?
...
Рейтинг: 0 / 0
INSERT и спец. символы
    #35672822
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UNI_XКакие ещё спец. символы пофиксить нужно?Это зависит от того какая у тебя база данных. Открывай документацию и ищи что-нибудь про "escape sequence" возможно где-то в округе будет список служебных символов эскейп последовательностей.
UNI_XЯ, например, успел заметить что \ при INSERT'е в результате из строки исчезает, а вот / остается на месте. Наверное ещё есть какие-то символы?Прямой слеш почти никогда не играет служебной роли в строках.
А эскейп-символ будет "исчезать" всегда, чтобы он не исчезал, его надо удваивать (или учетверять).
...
Рейтинг: 0 / 0
INSERT и спец. символы
    #35672842
UNI_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 White Owl, спасибо. Вопросов больше не имею.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / INSERT и спец. символы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]