Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) УстановитьТекстовыйПараметр переменная типа текст (число прочтений - 5400 )
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
УстановитьТекстовыйПараметр переменная типа текст
31. Октября 2006 :: 13:06
Печать  
                       IDDEF = MDW.ИДСправочника(Вид);
                       ТекстЗапроса = "
                       |UPDATE
                       |      SC"+IDDEF+"
                       |SET
                       |      Code = :УстКод
                       |WHERE
                       |      ID = :Спр_ID
                       |";
                       
                       RS.УстановитьТекстовыйПараметр("Спр_ID", Спр.ТекущийЭлемент());
                       RS.УстановитьТекстовыйПараметр("УстКод", УстКод);
                       RS.Отладка(1);
                       рез = RS.ВыполнитьСкалярный(ТекстЗапроса);


Возращает:

UPDATE
     SC291
SET
     Code = ''РЛ00003085''
WHERE
     ID = '   XZKРНО'

рез = RS.ВыполнитьСкалярный(ТекстЗапроса);
{C:\CLASS\ОБМЕН\ОБМЕНДАННЫМИОЛЕ_IDD_РНО.ERT(2586)}: State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 5: Incorrect syntax near 'РЛ00003085'.

Собственно с чем курят '' ?
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #1 - 31. Октября 2006 :: 13:50
Печать  
Пиши ' а не "
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #2 - 31. Октября 2006 :: 13:57
Печать  
Цитата:
Пиши ' а не "

Подробней, чего не делать?
  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #3 - 31. Октября 2006 :: 14:21
Печать  
вместо двойной кавычки, поставить одинарную...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #4 - 31. Октября 2006 :: 14:25
Печать  
Че то я не понимаю как так получилось
Но у меня все нормально
Должно сообщать

SET
     Code = 'тут наш код'
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #5 - 31. Октября 2006 :: 14:32
Печать  
Цитата:
вместо двойной кавычки, поставить одинарную...

В том то и дело у меня в исходном тексте запроса sql нет кавычек  Нерешительный

Да, совсем забыл представиться, 1C++ v:2.0.3.1
  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #6 - 31. Октября 2006 :: 14:52
Печать  
Цитата:
Цитата:
вместо двойной кавычки, поставить одинарную...

В том то и дело у меня в исходном тексте запроса sql нет кавычек  Нерешительный

Да, совсем забыл представиться, 1C++ v:2.0.3.1

а по русски?
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #7 - 31. Октября 2006 :: 15:30
Печать  
Цитата:
Цитата:
Цитата:
вместо двойной кавычки, поставить одинарную...

В том то и дело у меня в исходном тексте запроса sql нет кавычек  Нерешительный

Да, совсем забыл представиться, 1C++ v:2.0.3.1

а по русски?


по-русски:
В исходном тексте нет одинарных кавычек, одинарные кавычки появляться после подстановки текстовых параметров сабжевым методом. И как видно из отладочной информации их в 2 раза больше для параметра типа строка.

  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #8 - 31. Октября 2006 :: 16:47
Печать  
Цитата:
по-русски:
В исходном тексте нет одинарных кавычек, одинарные кавычки появляться после подстановки текстовых параметров сабжевым методом. И как видно из отладочной информации их в 2 раза больше для параметра типа строка.

странно, может стоит показать исходный текст? видишь вон у всех одинарная кавычка...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #9 - 31. Октября 2006 :: 17:06
Печать  
Цитата:
Цитата:
по-русски:
В исходном тексте нет одинарных кавычек, одинарные кавычки появляться после подстановки текстовых параметров сабжевым методом. И как видно из отладочной информации их в 2 раза больше для параметра типа строка.

странно, может стоит показать исходный текст? видишь вон у всех одинарная кавычка...


Исходный код:
                      IDDEF = MDW.ИДСправочника(Вид);
                      ТекстЗапроса = "
                      |UPDATE
                      |      SC"+IDDEF+"
                      |SET
                      |      Code = :УстКод
                      |WHERE
                      |      ID = :Спр_ID
                      |";
                       
                      RS.УстановитьТекстовыйПараметр("Спр_ID", Спр.ТекущийЭлемент());
                      RS.УстановитьТекстовыйПараметр("УстКод", УстКод);
                      RS.Отладка(1);
                      рез = RS.ВыполнитьСкалярный(ТекстЗапроса);
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #10 - 31. Октября 2006 :: 18:53
Печать  
УстКод = "'РЛ00003085'".
  
Наверх
IP записан
 
Dave Owen OWL
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 26. Сентября 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр переменная типа те
Ответ #11 - 01. Ноября 2006 :: 06:30
Печать  
pvase писал(а) 31. Октября 2006 :: 18:53:
УстКод = "'РЛ00003085'".


Действительно.

Вопрос снят.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать