Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чего то с DAO не получается .... какае-то дрянь выскакивает / 15 сообщений из 15, страница 1 из 1
04.03.2004, 11:41
    #32430850
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Пожалуйста, помогите ... на VBA так все было просто ... а на Visual C++ не пашет.

Проблема такая мне нужно из VC++ работать c данными БД ... к примеру с файлом KKK.MBD.

#include "afxdao.h"

main()
{
CDaoRecordset* cDaoRset;
CDaoDatabase cDaoDB;
cDaoDB.Open("C:\\KKK.MBD");
}

На 3-й строчке выскакивает ....

Unhandled exception in DDD.exe (KERNEL32.DLL) 0xE06D7363 Microsoft С++ Exception.

И при завершении программы на последок выскакивает:

Debug Assertion Failed
Program D:\DDD.EXE
Line:42

Пробывал я к различным источникам обращатся, к DBF, MDB (2000, 97), XLS ...
но дерьмо как выскакивает так и выскакивает.


Пожалуйста помогите. Документации то же нет по DAO с MC++, и ADO с MC++ (вместе с примерами естественно). Может кто ссылками поделится ....
...
Рейтинг: 0 / 0
04.03.2004, 12:20
    #32430936
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Как это документации нет? А MSDN?

Может у тебя DAO не установлено?

В любом случае надо сделать try и catch(CDaoException* e), посмотреть что за ошибка. Должно стать понятнее :)
...
Рейтинг: 0 / 0
04.03.2004, 12:34
    #32430972
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
или

автор
Debug Assertion Failed
Program D:\DDD.EXE
Line:42

пойти дебагом внутрь и посмотреть на каком файле (видимо как раз в afxdao-привязанном) в 42 строке стоит АССЕРТ и на какое условие.
...
Рейтинг: 0 / 0
04.03.2004, 13:46
    #32431184
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Поставил я catch ... ну она мне выдает ....
Unrecognized database format "C:\DDD.MDB"

Для 97 MDB она естественно не выдает ничего,
но падает как и раньше падала.

Падает она в CRTODAT.C в цикле:

while ( --pfend >= __onexitbegin )
/*
* if current table entry is non-NULL,
* call thru it.
*/
if ( *pfend != NULL )
(**pfend)();

На счет DAO ... она действительно не поддерживает Access 2000, или нужно что то доп. установить что бы она его поддерживала ?
...
Рейтинг: 0 / 0
04.03.2004, 14:36
    #32431314
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Unrecognized database format "C:\DDD.MDB"
Ага, то есть база двухтысячная, а DAO грузится 97е.

Для 97 MDB она естественно не выдает ничего, но падает как и раньше падала.
Падает на том же операторе Open(), не выдавая сообщений об ошибке?

(когда ответишь на этот вопрос, пойдём дальше)
...
Рейтинг: 0 / 0
04.03.2004, 14:54
    #32431367
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Нет падает она при завершении программы,
после команды return 0;

Она куда то идет вниз .............. и там уже падает ... при закрытии.
Т.е после команды Open все продолжает работать MesagBox ...

Как DAO установить для 2000 Access ....
...
Рейтинг: 0 / 0
04.03.2004, 16:37
    #32431563
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Падать после закрытия программы может из-за инициализации/деинициализации СОМ, её надо в фигурные скобки запихать.
...
Рейтинг: 0 / 0
04.03.2004, 16:41
    #32431571
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
по подробней пожалуйста .... что нужно в фигурные скобки запихать .....
...
Рейтинг: 0 / 0
04.03.2004, 17:35
    #32431668
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Насчёт DAO и Access2000.

Если сначала загрузится 97-е DAO, а именно это происходит в VC6, то загрузить 2000е уже никак нельзя. Поэтому надо попробовать загрузить 2000-е, если оно есть. Для этого надо написать
AfxGetModuleState()->m_dwVersion = 0x0601;
После этого попытаться открыть базу. Если не получилось, а база двухтысячная, то увы. Если не получилось, а база 97-я, то вернуть
AfxGetModuleState()->m_dwVersion = 0x0600;
и попробовать открыть ещё раз.

Версию базы можно узнать через ODBC.
...
Рейтинг: 0 / 0
04.03.2004, 17:49
    #32431692
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Извените конечно, мы не сильны но после:

AfxGetModuleState()->m_dwVersion = 0x0601;

появилось:

error C2039: 'm_dwVersion' : is not a member of 'AFX_MODULE_STATE'
...
Рейтинг: 0 / 0
04.03.2004, 19:07
    #32431840
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
error C2039: 'm_dwVersion' : is not a member of 'AFX_MODULE_STATE'
Оно появляется, если проект собран с _AFXDLL

Какого типа у вас проект?
...
Рейтинг: 0 / 0
05.03.2004, 08:50
    #32432064
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Код: plaintext
1.
2.
3.
4.
5.
6.
{
CoInitialize();
}

{
CoUninitialize();
}
...
Рейтинг: 0 / 0
05.03.2004, 14:08
    #32432718
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
А как определить тип проекта ?

У меня: Use MFC in Static Library

При создании проекта ... я его консольным определил .... по моему здравствуй мир что ли ....
...
Рейтинг: 0 / 0
05.03.2004, 14:34
    #32432783
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Вставил я CoInitialize(NULL) и CoUninitialize() ... но как падало так и падает


void LK (void)
{

{
CoInitialize(NULL);
}

CDaoRecordset* cDaoRset;
CDaoDatabase cDaoDB;

try
{
cDaoDB.Open("C:\\Dispatcher.mdb"); //DSN=Dispatcher_0");
} catch(CDaoException* e)
{
MessageBox(NULL, e->m_pErrorInfo->m_strDescription,"AptScript",MB_OK);
}

{
CoUninitialize();
}

}
...
Рейтинг: 0 / 0
05.03.2004, 15:05
    #32432859
zmeyka13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чего то с DAO не получается .... какае-то дрянь выскакивает
Я сгенерировал новый проект Win 32 Console Application - An application that supports MFC и вроди все заработало ......
1) не падает
2) и строка AfxGetModuleState()->m_dwVersion = 0x0601; ошибок не вызывает
3) и переключила на Access 2000 ...
так что вроди все нормально ....
спасибо за помощь .....
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чего то с DAO не получается .... какае-то дрянь выскакивает / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]