OLE DB를 이용해 MSSQL DB사용하는 예제 소스 코드MFC2015. 9. 3. 20:09
Table of Contents
반응형
- #include <atldbcli.h>
- #include <iostream>
- using namespace std;
- class state
- {
- public:
- //데이터를 저장할 자료형 선언
- char ip[20];
- char date[20];
- char time[20];
- //데이터베이스의 컬럼과 위치를 맞춤
- BEGIN_COLUMN_MAP(state)
- COLUMN_ENTRY(1, ip)
- COLUMN_ENTRY(3, date)
- COLUMN_ENTRY(4, time)
- END_COLUMN_MAP()
- };
- //OLEDB 객체 선언
- CDataSource ds;
- CSession session;
- CCommand <CAccessor<state> > cust;
- int main()
- {
- try {
- //COM 초기화
- HRESULT hr = CoInitialize(0);
- if (FAILED(hr))
- {
- cout << "COM 초기화 할 수 없습니다." << endl;
- return -1;
- }
- //데이터베이스 연결
- CDBPropSet dbinit(DBPROPSET_DBINIT);
- dbinit.AddProperty(DBPROP_INIT_PROMPT, (SHORT)4);
- dbinit.AddProperty(DBPROP_INIT_PROVIDERSTRING, OLESTR("PROVIDER=SQLOLEDB.1;SERVER=DB아이피주소;UID=아이디;PWD=패스워드;DATABASE=데이터베이스이름"));
- dbinit.AddProperty(DBPROP_INIT_LCID, (LONG)1043); //->Locale identifier
- hr = ds.Open(_T("SQLOLEDB"), &dbinit);
- if (FAILED(hr))
- {
- cout << "데이터 베이스를 열 수 없습니다." << endl;
- return -1;
- }
- //세션을 시작합니다.
- hr = session.Open(ds);
- if (FAILED(hr))
- {
- cout << "SESSION을 시작할 수 없습니다." << endl;
- ds.Close();
- return -1;
- }
- //사용할 쿼리문을 문자열로 만들어 둠.
- char mySQL[] = "SELECT * FROM state";
- //쿼리문을 실행한다.
- hr = cust.Open(session, mySQL);
- if (FAILED(hr))
- {
- cout << "쿼리문을 수행할 수 없습니다." << endl;
- session.Close();
- ds.Close();
- return -1;
- }
- //읽어온 데이터를 화면에 출력한다.
- while (cust.MoveNext() == S_OK)
- {
- cout << cust.ip << ", " << cust.date << ", " << cust.time << endl;
- }
- cust.Close();
- session.Close();
- ds.Close();
- return 1;
- }
- catch (...)
- {
- cout << "알 수 없는 에러 발생" << endl;
- return -1;
- }
- }
반응형
'MFC' 카테고리의 다른 글
비주얼스튜디오 2015에서 컴파일된 결과를 백업하려 했더니 용량이 커서... (0) | 2015.09.05 |
---|---|
64비트 컴퓨터에 설치된 Visual Studio 2015로 32비트용 실행파일 컴파일하기 (5) | 2015.09.05 |
64비트 컴퓨터에 설치된 Visual Studio 2013으로 32비트용 실행파일 컴파일하기 (0) | 2015.09.03 |
Visual Studio 2013용 멀티바이트 MFC 라이브러리 (0) | 2015.08.26 |
MFC 사용 가능한 시리얼 포트 읽어오기 (0) | 2015.02.15 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!