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? Заранее благодарю за оперативный ответ. В ассистенте не нашел как это сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
inviZ
  опции профиля:
сообщение 17.6.2010, 19:26
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 5.6.2010
Пользователь №: 1781

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




Репутация:   1  


Смысл в том, что SQL Server возвращает на твой запрос просто 8 байт данных. Естественно, если ты попытаешься представить их в виде строки, у тебя получится белиберда.

Цитата
<|p§=Ђ�Я

Например, '<' здесь это 0x3C, '|' - 0x7C, ну и так далее.
И клиент, который выдает тебе "0x3C7C70A73D8098DF", тоже аналогичным образом форматирует эти байты в удобном для тебя виде.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 17.6.2010, 19:35
Сообщение #3


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

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

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




Репутация:   17  


Цитата(inviZ @ 17.6.2010, 20:26) *
Смысл в том, что SQL Server
Цитата
<|p§=Ђ�Я

Например, '<' здесь это 0x3C, '|' - 0x7C, ну и так далее.
И клиент, который выдает тебе "0x3C7C70A73D8098DF", тоже аналогичным образом форматирует эти байты в удобном для тебя виде.

Фишка не в этом! :) Он и должен выдавать билибердовую строку, это ведь секретный ключ! ;) Дело в том, что в зависимости от кодировки, шестнадцатеричный код некоторых символов отличается, что есть очень плохо. А вот сейчас эти отличия нивелируются.

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

Сообщений в этой теме
- 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


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


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




RSS Текстовая версия Сейчас: 19.4.2024, 13:49