crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Выборка из базы данных
AD
  опции профиля:
сообщение 17.6.2010, 17:23
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Подскажите, пожалуйста, как я могу получить значени поля secrKey в следующем запросе:
Select cast(secretKey as binary(8)) as secrKey from DeviceList where serialNumber = '22021   '

Код следующий:
QString select_query("Select cast(secretKey as binary(8)) as secrKey from DeviceList where serialNumber = '%1'");
//////////////////////////////////
select_query = select_query.arg(serialNumber);
        bool rt = query.exec(select_query);
        int i = 0;
        while(query.next())
        {
            QString fs = query.value(i).toString();
            ++i;
        }

Я получаю в функции fs только строку secretKey, а вот как мне узнать secrKey? Заранее благодарю за оперативный ответ. В ассистенте не нашел как это сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 17.6.2010, 18:47
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(inviZ @ 17.6.2010, 22:34) *
Какой исходный тип у secrKey ?
там же простое приведение типа к binary( 8 )
AD, по идее ты именно secrKey и получаешь и ничего больше. Поэтому i больше нуля должно приводить к аварийному завершению программы. Просто ты сразу возвращаемое значение к строке приводишь:
query.value(i).toString();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 17.6.2010, 18:54
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Ладно, чтобы было понятно, вот результат выборки через СУБД и выборка программы.

Запрос
select cast(secretKey as binary(8)) as secretKey from dbo.DeviceList where secretKey <> '' and serialNumber = '22021   '

Результат СУБД SQL Server:
0x3C7C70A73D8098DF


программный код
bool rt = query.exec(select_query);
query.next();
QString str(query.value(0).toString());

Результат кода:
<|p§=Ђ�Я

Так вот мне нужен результат, подобный тому, что я получаю в СУБД.

Сообщение отредактировал AD - 17.6.2010, 18:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   Выборка из базы данных   17.6.2010, 17:23
- - BRE   Я не большой специалист в SQL, но попробуй следующ...   17.6.2010, 17:48
|- - AD   Цитата(BRE @ 17.6.2010, 18:48) Я не больш...   17.6.2010, 17:56
- - inviZ   Хм, что-то немного непонятно, а что именно ты хоче...   17.6.2010, 18:34
|- - AD   Цитата(inviZ @ 17.6.2010, 19:34) Хм, что-...   17.6.2010, 18:43
- - Litkevich Yuriy   Цитата(inviZ @ 17.6.2010, 22:34) Какой ис...   17.6.2010, 18:47
|- - AD   Ладно, чтобы было понятно, вот результат выборки ч...   17.6.2010, 18:54
- - BRE   Какая БД используется? Этот запрос в sqlbrowser да...   17.6.2010, 18:49
- - Litkevich Yuriy   Цитата(AD @ 17.6.2010, 22:54) Так вот мне...   17.6.2010, 19:04
- - inviZ   bool rt = query.exec(select_query); query....   17.6.2010, 19:13
|- - AD   Цитата(inviZ @ 17.6.2010, 20:13) Пробуй. ...   17.6.2010, 19:21
- - inviZ   Смысл в том, что SQL Server возвращает на твой зап...   17.6.2010, 19:26
|- - AD   Цитата(inviZ @ 17.6.2010, 20:26) Смысл в ...   17.6.2010, 19:35
- - BRE   Так может проще использовать: QByteArray QByteArra...   17.6.2010, 19:41
|- - AD   Цитата(BRE @ 17.6.2010, 20:41) Так может ...   17.6.2010, 19:59
- - inviZ   Цитата(BRE @ 18.6.2010, 3:41) Так может п...   18.6.2010, 11:28


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 3.12.2024, 15:18