Russian Qt Forum
Февраль 10, 2012, 15:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запрос с параметром  (Прочитано 767 раз)
masha
Новичок

Offline Offline

Сообщений: 35


« : Июль 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
Новичок

Offline Offline

Сообщений: 39


« Ответ #1 : Июль 09, 2010, 15:04 »

Может так?
Код
C++ (Qt)
QString strQuery = "CREATE LOGIN [:user] FROM WINDOWS";
query.prepare(strQuery);
query.bindValue(":user", user_name);
Записан
masha
Новичок

Offline Offline

Сообщений: 35


« Ответ #2 : Июль 09, 2010, 16:34 »

нет, всё та же ошибка Улыбающийся
Записан
SABROG
Гуру общения
******
Offline Offline

Сообщений: 1424



« Ответ #3 : Июль 09, 2010, 17:31 »

Возможно дело в синтаксисе запроса, обычный "INSERT INTO" работает? Может быть биндинг работает только с определенным набором команд.
Записан

Национальная группа Russian Federation на QtCentre.
Qt: 4.7.2, GCC: 4.4.0
We'd get - widget!
Павлик
Частый гость
***
Offline Offline

Сообщений: 286



« Ответ #4 : Июль 09, 2010, 17:56 »

"CREATE" относится к DDL-операторам, а биндинг возможен только в DML (SELECT, INSERT, DELETE, EXECUTE, CALL ...).
Записан

Qt 4.5 Windows XP Pro SP3 Oracle 9.2.0.8.0
masha
Новичок

Offline Offline

Сообщений: 35


« Ответ #5 : Июль 09, 2010, 18:08 »

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

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