Russian Qt Forum
Ноябрь 24, 2024, 14:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запрос с параметром  (Прочитано 3380 раз)
masha
Гость
« : Июль 09, 2010, 14:46 »

Почему вот так парметр не присоединяется:

   QString strQuery = "CREATE LOGIN [?] FROM WINDOWS";
           // QString strQuery = "EXEC sp_grantlogin ?";
   query.prepare(strQuery);
           query.addBindValue(user_name);   // = "D15\\igor"

пишет:
[Microsoft][ODBC SQL Server Driver][SQL Server]'?' is not a valid Windows NT name. Give the complete name: <domain\username>. QODBC3: Невозможно выполнить запрос, msg: 15407

а так присоединяется:

   QString strQuery = QString("CREATE LOGIN [%1] FROM WINDOWS").arg("D15\\igor");
   query.prepare(strQuery);
Записан
0xFF
Гость
« Ответ #1 : Июль 09, 2010, 15:04 »

Может так?
Код
C++ (Qt)
QString strQuery = "CREATE LOGIN [:user] FROM WINDOWS";
query.prepare(strQuery);
query.bindValue(":user", user_name);
Записан
masha
Гость
« Ответ #2 : Июль 09, 2010, 16:34 »

нет, всё та же ошибка Улыбающийся
Записан
SABROG
Гость
« Ответ #3 : Июль 09, 2010, 17:31 »

Возможно дело в синтаксисе запроса, обычный "INSERT INTO" работает? Может быть биндинг работает только с определенным набором команд.
Записан
MoPDoBoPoT
Гость
« Ответ #4 : Июль 09, 2010, 17:56 »

"CREATE" относится к DDL-операторам, а биндинг возможен только в DML (SELECT, INSERT, DELETE, EXECUTE, CALL ...).
Записан
masha
Гость
« Ответ #5 : Июль 09, 2010, 18:08 »

спасибо большое Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.071 секунд. Запросов: 20.