FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird FAQ
[25] FireBird를 .net나 MFC에서 사용하고 싶습니다..
장종학 [jangma21] 53648 읽음    2008-10-08 14:21
FireBird를 .net나 MFC에서 사용하려고 합니다.

현제 별도의 클레스의 dll파일로 로컬연결을 하였는데..

server 개념으로 확장해보려고 합니다.

연결하는데 쉽지가 않네요..

혹시 MFC나 .NET를 이용하여 프로그램 해보신 분들께

조언을 구합니다.
강태공 [surwu]   2008-10-11 00:04 X
일단 http://firebirdsql.org/firebirdtutorial/ 사이트에 들어가보십시오.

기초적이지만, 일단 연결시켜서 실행은 해보실 수 있는정도의 예제는 있습니다.

로컬연결과 네트웍 연결은 크게 차이가 없더군요...

일단 저의 경우 요즘 C#을 주로 사용하는 지라... C#으로 설명을 드리면...
(맨날 C++만 쓰다가 C#쓰니 너무 편하네요 ㅠㅠ)

FireBird 2.0 Client를 먼저 깔고, 프로젝트를 만든 다음에

프로젝트/참조 추가에서 dll을 추가한 다음..


strConnection =
string.Format("Server={0};User={1};Password={2};Database={3};Charset={4};ServerType={5}",
                server,        // IP ex)192.168.63.22
                user,        // 사용자
                password,    // 암호
                database,    // 절대위치.. ex) C:\TEST\TEST.FDB
                stCharset,    // KSC_5601 같은 문자셋을 지정
                nSvrType);    // 0이면 Classic/Super Server, 1이면 Embedded Server를 지정하신다음...
               
sqlSyntax = "select * from test_proj;"


FbConnection connection = new FbConnection(strConnection);
connection.Open();

FbTransaction transaction = connection.BeginTransaction();

FbCommand command = new FbCommand(sqlSyntax, connection, transaction);
command.CommandType = CommandType.Text;
                   
DataSet data data = new DataSet();

FbDataAdapter adapter = new FbDataAdapter(command);

adapter.Fill(data);

transaction.Rollback();

adapter.Dispose();
command.Dispose();
connection.Close();


같은 형태로 사용하시면 읽으 실 수 있으 실겁니다.

마구잡이로 타이핑하다보니 실수가 있더라도... 그러려니해주세요 ^^

그리고 쓰는건...

이런 식으로 ....

FbConnection connection = new FbConnection(strConnection);
connection.Open();
       
FbTransaction transaction  = connection.BeginTransaction();
FbCommand command command = new FbCommand(sqlSyntax, connection, transaction);
command.CommandType = CommandType.Text;

command.ExecuteNonQuery();

transaction.Commit();

command.Dispose();
connection.Close();
   
하면 동작을 하더군요...

여기서 실패하면 try, catch 구문을 사용해서 transaction을 롤백해주시면 됩니다.

만약 트랜젝션을 안쓰실경우는 그냥... 빼셔도 그만일듯하네요 ^^

코드를 테스트 해보지는 않아서 혹시 안되시면 리플을 달아주세요 ^^
civilian [civilian]   2008-11-16 21:35 X
질문은 질문란에...

+ -

관련 글 리스트
25 FireBird를 .net나 MFC에서 사용하고 싶습니다.. 장종학 53648 2008/10/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.