'adodb'에 해당되는 글 7건

  1. 2009.05.01 [MSDN] ADO Code Example in Visual C++
  2. 2009.04.27 mdb 파일 압축하기
  3. 2009.04.27 mdb에서 사용하는 DDL, DML 문법 예시 2
  4. 2009.04.27 동적으로 엑세스 파일(MDB) 생성하기
  5. 2009.04.27 DB 연결 문자열 만들기(udl 파일)
  6. 2009.04.27 mdb를 이용한 ado 예제 1
  7. 2009.01.21 C++에서 Recordset 사용하기 1

[MSDN] ADO Code Example in Visual C++

MSDN에서 매번 검색하지만 항상 헤맨다.

ADODB를 Visual C++로 사용하는 예제코드가 아래 링크에 있다.

http://msdn.microsoft.com/en-us/library/ms677563(VS.85).aspx

mdb 파일 압축하기

mdb를 사용하다 보면 불필요하게 크기가 늘어나는 경우가 있다.
그럴땐 아래처럼 처리하면 파일의 크기가 줄어들게 된다.

mdb에서 사용하는 DDL, DML 문법 예시

일반 MS-SQL 과 동일하다.

DDL :
1. CREATE 문장

CREATE TABLE table_name (
    Idx       int identity
,   Name   varchar(20)    NOT NULL
,   Title     varchar(50)
)

여러개의 테이블을 만들고 싶다면 SQL 배열로 만들어 여러번 Execute 한다.
_bstr_t bstrSQL[] = {
    "CREATE TABLE Emp1 ..."
,   "CREATE TABLE Emp2 ..."
}
...
for (int i=0; i<2; ++i)
{
    pConnection->Execute( bstrSQL[i], &vRecords, ADODB::adExecuteNoRecords );
}

DML :
1. INSERT 문장
INSERT INTO Emps(Name, Title)  VALUES ('Name', 'Title')

2. UPDATE 문장
UPDATE Emps SET Name = 'aaa' WHERE Idx = 100

3. DELETE 문장
DELETE FROM Emps WHERE Idx = 100

동적으로 엑세스 파일(MDB) 생성하기

mdb 파일을 만들려는 위치에 엑세스가 안 깔려 있어도 상관없다.
adox만 이용하여 만드는 방법도 있지만 차라리 adox로 mdb만 만들고 ado로 테이블을 생성한느게 훨씬 좋은거 같다.

DB 연결 문자열 만들기(udl 파일)


1. 파일 확장자 나타내기 :
    도구 > 폴더 옵션 > 보기 > 알려진 파일의 확장명 숨기기

2. 적당한 위치에서 오른쪽 클릭을 하면 "새로운 만들기"가 보일것이다.
    비어있는 "텍스트파일"을 하나 만든다.


3. 파일의 확장자를 'txt" 에서 "udl"로 바꾼다.
    경고창이 뜨지만 그냥 무시하면 된다.


4. udl 파일을 더블 클릭한다. "데이터 연결 속성" 창이 뜰 것이다.
  

5. 엑세스(mdb)에 연결하려면 "Microsoft Jet xxx OLE DB Provider"을 선택한다.
    SQL서버에 연결하려면 "Microsoft OLE DB Provider for SQL Server"를 선택한다.

6-1. 엑세스를 선택했을 때
       mdb파일의 경로를 설정해 준다. 암호가 설정되어 있다면 암호도 넣어 준다.


6-2. SQL 서버를 선택했을 때
       서버, 아이디/암호를 정확히 넣었다면 데이터베이스항목 열기했을때 데이터베이스 목록이 나타난다.
       이때 암호 저장을 꼭 선택하자. 그래야 암호를 포함한 문자열을 얻을 수 있다.
       혹시 SQL 서버의 기본 포트가 아닌 다른 포트를 쓴다면.
       서버 이름을 넣을 때 ", 포트번호" 를 추가하면 된다.
       예) 도메인이 www.db.com  이며 포트번호가 8282 : www.db.com, 8282
            ip가 10.11.12.13 이며 포트번호가 1234 일때 : 10.11.12.13, 1234


7. 확인을 누르고 저장한다.
   udl 파일을 텍스트 편집기(메모장)로 읽어들인다.
3번째 라인을 복사해서 쓰면 된다.


mdb를 이용한 ado 예제



C++에서 Recordset 사용하기 1

예전에 ASP 프로그램에서는 ADODB.Recordset을 굉장히 편하게 사용하였었다. 그런데 C++에서는 모두 ADO 사용을 어려워하고, 어떤이는 IDispatch 인터페이스로 ADO를 접근하고 있었다.

사실 IDispatch 인터페이스는 VB등(스크립트 포함)을 위한 인터페이스이고 IUnknown으로 직접 접근하는 것에 비하여 성능적으로 떨어진다.
그래서 C++을 처럼 COM의 IUnknown 인터페이스로 직접 접근할 수 있다면 직접 접근하여 사용하는 것이 좋은 방법이다.
또한 생각보다 편하게 사용할 수 있다. 단지 방법을 모를 뿐이지.

아래의 C++과 ASP에서의 사용법을 비교해 보라. 완전히 똑같지 않은가!!!

C++ 에서 Recordset 을 사용하는 방법이다.
 

ASP 에서 Recordset 을 사용하는 방법이다.
 

prev 1 next