powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Дока по работе с СУБД
5 сообщений из 5, страница 1 из 1
Дока по работе с СУБД
    #33263190
AlexeyStaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна документация по роботе из Visual C++ с СУБД, в частности с MS SQL Server 2000. Хочется на родном русском языке.
...
Рейтинг: 0 / 0
Дока по работе с СУБД
    #33263205
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyStafНужна документация по роботе из Visual C++ с СУБД, в частности с MS SQL Server 2000. Хочется на родном русском языке.
Ищете любую литературу по ADO на русском и вперед (осваивать примеры из VC++).
От себя отмечу, что работа с СУБД из VC++ состоит из этапов:
1. Import из системных dll описаний для компонентов ADO
2. Создание экземпляра класса Connection; как правило это ConnectionPtr (говоря по-другому: Connection *, только формленный в виде класса)
3. Создание экземпляра класса Recordset; как правило это RecordsetPtr (или Recordset *, только формленный в виде класса)
4. Выполнение запросов к СУБД
5. Закрытие рекордсета и коннекции
6. Удаление рекордсета и коннекции. Но не через delete, а через метод класса Release
Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
#import "C:\Program Files\Common Files\system\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
using namespace ADOCG;
...
	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)
        HRESULT hr = S_OK;
CString strSQL = "Select fam from <filename> where tel=\""+CString("<telnumber>")+"\"";
       _ConnectionPtr m_pOraCn;
        _RecordsetPtr pRs;
		
    CString strConn = "Driver={Microsoft Visual FoxPro Driver};UID=;PWD=;SourceDB=d:\\temp\\demo;";
	strConn += "SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;";
		strConn += "Null=Yes;Deleted=No;";
		TRACE("%s\n",strConn);

        try
        {
                hr = m_pOraCn.CreateInstance(__uuidof(Connection));
                if(FAILED(hr))_com_issue_error(hr);
                m_pOraCn->CursorLocation = adUseClient;
                hr = m_pOraCn->Open(_bstr_t((LPCTSTR)strConn),_bstr_t(L""),_bstr_t(L""),adConnectUnspecified);
                if(FAILED(hr))_com_issue_error(hr);
                hr = pRs.CreateInstance(__uuidof(Recordset));
                if(FAILED(hr))_com_issue_error(hr);
                hr = pRs->Open(_bstr_t((LPCTSTR)strSQL),m_pOraCn.GetInterfacePtr(),
				adOpenStatic,adLockReadOnly,adCmdText);
                if(FAILED(hr))_com_issue_error(hr);
                if(pRs->RecordCount> 0 )
				{
					_bstr_t rez=pRs->Fields->GetItem("FAM")->Value;
					CString Message;
					Message=(char *)rez;
					Message.OemToAnsi();
					AfxMessageBox(Message,MB_OK, 0 );
				}
				else
					AfxMessageBox("Select is not sucsessfull!!!",MB_OK, 0 );
			hr = pRs->Close();
			if(FAILED(hr))_com_issue_error(hr);
        }
    catch(const _com_error& e)
    {
                CString sMsg;
                sMsg.Format("Error: %s",e.ErrorMessage());
                if(e.ErrorInfo())
                        sMsg += "; Source: " + CString((LPCTSTR)e.Source()) + "; Description: " + CString((LPCTSTR)e.Description());
                AfxMessageBox(sMsg);
                return FALSE;
    }
    catch(...)
    {
                AfxMessageBox("<Unknown error>");
                return FALSE;
    }

....

 pRs.Release();
 m_pOraCn.Release();
...
Рейтинг: 0 / 0
Дока по работе с СУБД
    #33270054
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyStafНужна документация по роботе из Visual C++ с СУБД, в частности с MS SQL Server 2000. Хочется на родном русском языке.

Учите АДО как Вам и посоветовали - правда это скорее COM чем С++ :) Могу предложить книгу по АДО очень неплохую ;) правда на буржуйском...
...
Рейтинг: 0 / 0
Дока по работе с СУБД
    #33270532
AlexeyStaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИнтеграторУчите АДО как Вам и посоветовали - правда это скорее COM чем С++ :) Могу предложить книгу по АДО очень неплохую ;) правда на буржуйском...
У меня есть книги по работе с ADO, но из C# или Visual Basik, а сейчас возникла необходимость работать с Visual C++.
...
Рейтинг: 0 / 0
Дока по работе с СУБД
    #33270708
Интегратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyStaf ИнтеграторУчите АДО как Вам и посоветовали - правда это скорее COM чем С++ :) Могу предложить книгу по АДО очень неплохую ;) правда на буржуйском...
У меня есть книги по работе с ADO, но из C# или Visual Basik, а сейчас возникла необходимость работать с Visual C++.

Тогда подозреваю что Вам следует ознакомится как работать с COM из С++. Посмотрите как работает директива #import. В MSDN есть множество примеров использования ADO как со знакомым Вам васиком так и с С++. COM он и в африке COM - в С++ есть свои особенности конечно, даже их кмножество но для работы с АДО вобщем-то не так уж и много надо знать ;).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Дока по работе с СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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