Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

экранирование символов [D7, MSSQL]


Страницы:   1 2

sten ©   (2004-09-24 15:57:00) 

Здрасьте всем

Надо программным образом добавить текстовое значение, содержащее знак ' (кавычка). Как его экранировать, а то MS SQL воспринимает его как начало текста.


Anatoly Podgoretsky   (2004-09-24 17:34:00) [1]

sten   (24.09.04 17:16) [19]
Мы вывод сделали правильный, а вот ты сделал неверный насчет телепатии.


Johnmen   (2004-09-24 17:21:00) [2]

>sten   (24.09.04 17:16) [19]
>я имел ввиду экранирование кавычки не внутри строки, а как
>отдельный символ. Выходит, я не точно сформулировал вопрос, а
>Вы сделали неправильный вывод, что именно я хочу

Просто мы ещё не в полной мере развили в себе телепатические способности...:)


Sandman25   (2004-09-24 17:18:00) [3]

внутри строки, а как отдельный символ

Не совсем. Вам нужна была строка из одной кавычки.


sten   (2004-09-24 17:16:00) [4]

Понятно, не знаю, кто здесь невнимательно читает вопросы/ответы, но все-таки выходит что 4 кавычки нужны, ведь я имел ввиду экранирование кавычки не внутри строки, а как отдельный символ. Выходит, я не точно сформулировал вопрос, а Вы сделали неправильный вывод, что именно я хочу

спасибо всем


Johnmen   (2004-09-24 17:04:00) [5]

>sten   (24.09.04 16:59) [15]

Ты просто тормозишь. Или невнимательно/невдумчиво читаешь ответы...
:)


Sandman25   (2004-09-24 17:02:00) [6]

set @v = 'тест на кавычку '''


sniknik   (2004-09-24 17:02:00) [7]

> так что даже и не знаю, в Мюллера верить или в кого еще
в меня верь ;о))
ну прямо точно угадал... [14]
проверь так
set @v = 'тест на кавычку '' '


sten   (2004-09-24 16:59:00) [8]

вот триггер

//////////////////////////////////////////////////
CREATE TRIGGER [testtrigger] ON [dbo].[tab]
FOR INSERT
AS
declare @v varchar(50)

set @v = 'тест на кавычку '+ ''

insert into replica.dbo.table1 values(@v)
//////////////////////////////////////////////////

результат:

тест на кавычку

а если

//////////////////////////////////////////////////
CREATE TRIGGER [testtrigger] ON [dbo].[tab]
FOR INSERT
AS
declare @v varchar(50)

set @v = 'тест на кавычку '+ ''''

insert into replica.dbo.table1 values(@v)
//////////////////////////////////////////////////

то

тест на кавычку '

так что даже и не знаю, в Мюллера верить или в кого еще


sniknik   (2004-09-24 16:55:00) [9]

> 'I am D''Artanyan' - кавычка обозначается двумя кавычками, а не четырьмя.
частный случай
'I am D'#39'Artanyan'

> нет, именно 4 кавычки, не верите - можете проверить
ты просто строку с символом путаеш, в строке символ задается двумя, ну а еще две с краю это ограничители самой строки.
в MSSQL(в запросе) можно и так Char(39) написать, это символ кавычки.


Johnmen   (2004-09-24 16:46:00) [10]

>Anatoly Podgoretsky ©   (24.09.04 16:41) [12]

Да ! Как то я про него забыл...:)))


Anatoly Podgoretsky   (2004-09-24 16:41:00) [11]

Ну еще Мюллеру


Johnmen   (2004-09-24 16:40:00) [12]

>sten

Верить можно в Бога.
А про кавычки можно только знать...:)


Sandman25   (2004-09-24 16:35:00) [13]

[9] sten   (24.09.04 16:33)

'I am D''Artanyan' - кавычка обозначается двумя кавычками, а не четырьмя.


sten   (2004-09-24 16:33:00) [14]

to Johnmen
нет, именно 4 кавычки, не верите - можете проверить

to Anatoly Podgoretsky
я это в bol вообще не нашел


Anatoly Podgoretsky   (2004-09-24 16:27:00) [15]

sten   (24.09.04 16:17) [6]
Странными ты источниками информации пользовался, мой совет забрось их подальше, а пользуйся официальными


Johnmen   (2004-09-24 16:24:00) [16]

Одна кавычка в составе строки выглядит как ''
Что соответствует принятым соглашениям.


sten   (2004-09-24 16:17:00) [17]

все, спасибо, одна кавычка выглядит как ''''
малость странно


Sandman25   (2004-09-24 16:12:00) [18]

[4] sten   (24.09.04 16:10)

'''''''''''' - это строка из 5 символов '


sten   (2004-09-24 16:10:00) [19]

нет, если две подряд - то это будет пустой символ ''.


Sandman25   (2004-09-24 16:08:00) [20]

1. Через параметры
2. Через AnsiQuotedStr


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо