![]() |
|
|
![]()
|
|
| qqwertyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 18.10.2005 Репутация: нет Всего: нет |
Сделал я в Access запрос и использую его в своем приложении с помощью CRecordset (MFC)
так вот этот запрос захватывает поле memo и если в этом поле текст длинее 256 символов - при вызове CRecordset::Open() - падает без каких либо намеков ! Что делать ? ЗЫ: DoFieldExchange тут imho ставлю в нем брикпоинт - не заходит ! |
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: нет Всего: 2 |
А на чем падает? В отладчике смотрел?
--------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| qqwertyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 18.10.2005 Репутация: нет Всего: нет |
падает внутри CRecordset::Open :
Падает в MoveNext ! |
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: нет Всего: 2 |
А отладчик дальше в MoveNext не пускает?
Тут весь вопрос в чем: Скорее всего падает либо на попытке привязать данные к твоему буферу (Bind) - это происходит, когда неправильно описаны данные (как в ODBC - не знаю, в OLE DB - IAccessor), либо при попытке получения данных (GetData) - как правило, единственное, на чем может сковырнуться - это на обращении к защищенной памяти или к памяти, которой нет. Посмотри в окне отладки, не проскальзывают ли у тебя сообщения типа First chance assertion violation - если да, то причина скорее всего в том, что ODBC драйверу не хватает размера буфера под memo поле. Но лучше бы посмотрел поглубже в отладчик --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| qqwertyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 18.10.2005 Репутация: нет Всего: нет |
В MoveNext - не пускает !
В Ouput трейсит : "Error: field data truncated during data fetch." |
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: нет Всего: 2 |
Если есть, однозначно лезет в память, которой нет. Т.е. неправильно определены размеры переменных. И у меня большооое сомнение в том, что memo поля можно напрямую привязывать к переменным. Для их обработки обычно используются стримы. (Опять таки может быть в ODBC и можно, а в OLE DB никак низя, только поля фиксированной длины.) Попробуй посмотреть в этом направлении. --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |