Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выборка из базы данных в UNICODE

7.3K
24 марта 2007 года
LamerMFC
48 / / 17.09.2005
Всем привет!

Есть база данных (MS Access) в которой имеется слово - ušepra. (на языке Х)
Когда я беру это слово из базы данных оно превращается в usepra!!!
(т.е. отсекается шляпка над буквой s).
Вот код:

CDatabase db();
db.OpenEx(strPath);
CRecordset rs(&db);

CString str;
str.Format(”SELECT name FROM mytable WHERE id=1”);
rs.Open(CRecordset::snapshot, str);
rs.GetFieldValue(”name”, str);
rs.Close();
db.Close();

что я только не делал. Ну во первых объявил
#define _UNICODE
во вторых изменил точку входа программы на wWinMainCRTStartup

далее нашел в MSDN:
BUG: UNICODE Issue When MFC ODBC Is Used with the SQL Server ODBC Driver
ID: Q249803


Там сказано, что если переопределить класс CRecordset и некоторые функции в нем то все будет ОК, но у меня ничего не получается. Если кто ни будь, сталкивался с данной проблемой то подскажите, как лучше поступить. Заранее всем спасибо.
7.3K
29 марта 2007 года
LamerMFC
48 / / 17.09.2005
неужели никто не сталкивался с данной проблеммой?
534
31 марта 2007 года
HarryAxe
448 / / 19.01.2006
Может, попробуешь использовать CStringW?
Наследовть CRecordset нужно для того, чтобы сделать работу с БД максимально удобной, а не для того, чтобы "было всё ок". Попробуй - должно понравиться. (Add class...->MFC ODBC consumer).
7.3K
05 апреля 2007 года
LamerMFC
48 / / 17.09.2005
когда объявляешь
#define _UNICODE
CString автоматически хранит unsigned short а не char
переопределение для того, чтобы решить проблемму выборки и DB в формате UNICODE. Но проблемма была не в этом. На самом деле и проблеммы то не было. Просто надо было в настройке региональности указать язык который должен поддерживать UNICODE.
А за ответ спасибо.
13K
07 июня 2007 года
Isk_Int
16 / / 06.06.2006
"Просто надо было в настройке региональности указать язык который должен поддерживать UNICODE."
А где это "настройка региональности" находиться у меня похожая проблема
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог