powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не могу открыть базу (DAO)
2 сообщений из 2, страница 1 из 1
Не могу открыть базу (DAO)
    #34510893
Jevgeniy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
	CString strQuery;
	CString csBaseName;

	if(m_pSet->CanAppend()== 0 )
		MessageBox("Çàïèñü äîáàâèòü íåëüçÿ, îáðàòèòåñü ê àäìèíèñòðàòîðó",
			"Îøèáêà îòêðûòèÿ áàçû äàííûõ",
			MB_OK | MB_ICONERROR);
	else{
		CDlgClientNew dlgClientNew;
		strQuery.Format("INSERT client(id,ind_num,pind_num) VALUE(%d,%s,%c)", 
			dlgClientNew.m_iId, 
			dlgClientNew.m_iIndNum, 
			dlgClientNew.m_iPIndNum);
		csBaseName.Format("BDODBC");

		CDaoWorkspace* cw=NULL; 
		CDaoDatabase* cd=NULL;

		if(dlgClientNew.DoModal() == IDOK){
			CDatabase m_cd;

			UpdateData();

			try{
				cw = new CDaoWorkspace(); 
				cd = new CDaoDatabase(cw);
				cd->Open(csBaseName);
				cd->Execute(strQuery,dbFailOnError);
				cd->Close(); 
				cw->Close();
				delete cd;
				delete cw;
			}
			catch(CDBException e){
				AfxMessageBox(e.m_nRetCode);
			}
		}
	}
	m_pSet->Requery();
	UpdateData(FALSE);

Вот код функции? при работе приложения выдается сообщение об ошибке:

---------------------------
RozOffice
---------------------------
Couldn't find file 'BDODBC'.
---------------------------
ОК
---------------------------

BDODBC - ODBC соединение с баззой данный (fox pro). Перепробовал уже кажется все что можно. Почти наизусть выучил то что написано здесь .

Пробовал обойтись без DAO а через ODBC функции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
           CString strQuery;
	if(m_pSet->CanAppend()== 0 )
		MessageBox("Çàïèñü äîáàâèòü íåëüçÿ, îáðàòèòåñü ê àäìèíèñòðàòîðó",
			"Îøèáêà îòêðûòèÿ áàçû äàííûõ",
			MB_OK | MB_ICONERROR);
	else{
		CDlgClientNew dlgClientNew;
		strQuery.Format("INSERT client(id,ind_num,pind_num) VALUE(%d,%s,%c)", 
			dlgClientNew.m_iId, 
			dlgClientNew.m_iIndNum, 
			dlgClientNew.m_iPIndNum);
		if(dlgClientNew.DoModal() == IDOK){
			CDatabase m_cd;
			try{ // Îáðàáîòêà èñêëþ÷åíèé
				m_cd.ExecuteSQL(strQuery);
			}
			catch(CDBException e){
				AfxMessageBox(e.m_nRetCode);
			}
		}
	}
	m_pSet->Requery();
	UpdateData(FALSE);
Выдается пустое сообщение об ошибке. Работа программы прерывается.

По поводу запроса:
INSERT client(id,ind_num,pind_num) VALUE(%d,%s,%c)
здесь все параметры имеют тип тип данных int.

Состояние близко к отчаянию. Хелп ми плиз. (
...
Рейтинг: 0 / 0
Не могу открыть базу (DAO)
    #34522198
Baikaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
///INSERT client(id,ind_num,pind_num) VALUE(%d,%s,%c)
Вроде SQL должен выглядеть так:
INSERT INTO client (id,ind_num,pind_num) VALUES(%d,%s,%c)",
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не могу открыть базу (DAO)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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