Q&A

  • 파스칼 & DB
데이타 베이스 프로그램을 만들고자 합니다. 그런데 실행시에 DB 파일과 테이블을 연결하는 방법을 모르겠습니다. 어떤 프로그램을 보면 실행파일내에 있는 db를 연결하여 어느 폴더에 있든지 간에 연결이 되던데 그런 프로그램을 만들고 싶습니다.

실행시에 실행파일이 있는 폴더의 db와 테이블을 연결시킬 수 없을까요. 무공이 강하신 분들의 한 수를 부탁드립니다. 꼭 좀 알려주세요. 부탁드립니다.

formcreate 프로시져에 databasename과 tablename에 할당을 하였지만 에러가 발생합니다. 제발 좀 알려주세요.

3  COMMENTS
  • Profile
    류성호 2000.01.10 19:57
    델파이에서는 파라독스DB(*.db)의 경우 자신의 로컬 컴퓨터의 디렉토리를

    데이터베이스이름으로 지정할 수 있고 TDatabase객체나 BDE에서 Alias이름을

    미리 지정하지 않아도 사용할 수 있어 저도 자주 사용하고 있습니다.



    아래에 간단한 소스는 프로그램이 생성될 때

    프로그램이 실행하는 경로를 얻어



    ExtractFilePath(Application.ExeName);



    그 경로를 TTable의 Database로 사용하고 있습니다.



    Table1.DatabaseName:=Path;



    그리고 사용하는 파라독스DB 테이블은 'main.db'입니다.



    Table1.TableName:='main';



    procedure TForm1.FormCreate(Sender: TObject);

    var

    Path:string;

    begin

    // 현재 Directory구하기

    Path:=ExtractFilePath(Application.ExeName);



    Table1.Active:=False;

    Table1.DatabaseName:=Path;

    Table1.TableName:='main';

    Table1.Active:=True;

    end;



    좋은 하루 되세요.





    이현섭 wrote:

    > 데이타 베이스 프로그램을 만들고자 합니다. 그런데 실행시에 DB 파일과 테이블을 연결하는 방법을 모르겠습니다. 어떤 프로그램을 보면 실행파일내에 있는 db를 연결하여 어느 폴더에 있든지 간에 연결이 되던데 그런 프로그램을 만들고 싶습니다.

    > 실행시에 실행파일이 있는 폴더의 db와 테이블을 연결시킬 수 없을까요. 무공이 강하신 분들의 한 수를 부탁드립니다. 꼭 좀 알려주세요. 부탁드립니다.

    > formcreate 프로시져에 databasename과 tablename에 할당을 하였지만 에러가 발생합니다. 제발 좀 알려주세요.

  • Profile
    이현섭 2000.01.11 09:01
    류성호님 감사합니다. 덕분에 고민거리를 해결하였습니다.

    무공이 낮은 저에게 한 수 지도 해주신점 진심으로 감사드립니다.

    새해에는 주님의 은총이 함께 하시기를 기원드립니다.

    그럼 안녕히 계세요.

    P.S : 혹시 이글을 보신다면 한가지 더 묻고 싶습니다.

    db프로그램을 베포할때 dbe을 베포하여야 하는 것으로 알고 있습니다. 어떤 파일들이 필요하고 어떻게 설치하는지 알려주신다면 대단히 감사하겠습니다. 염치 불구하고 이렇게 또 질문을 드리는 군요. 너그러이 봐주시기 바랍니다.



    류성호 wrote:

    > 델파이에서는 파라독스DB(*.db)의 경우 자신의 로컬 컴퓨터의 디렉토리를

    > 데이터베이스이름으로 지정할 수 있고 TDatabase객체나 BDE에서 Alias이름을

    > 미리 지정하지 않아도 사용할 수 있어 저도 자주 사용하고 있습니다.

    >

    > 아래에 간단한 소스는 프로그램이 생성될 때

    > 프로그램이 실행하는 경로를 얻어

    >

    > ExtractFilePath(Application.ExeName);

    >

    > 그 경로를 TTable의 Database로 사용하고 있습니다.

    >

    > Table1.DatabaseName:=Path;

    >

    > 그리고 사용하는 파라독스DB 테이블은 'main.db'입니다.

    >

    > Table1.TableName:='main';

    >

    > procedure TForm1.FormCreate(Sender: TObject);

    > var

    > Path:string;

    > begin

    > // 현재 Directory구하기

    > Path:=ExtractFilePath(Application.ExeName);

    >

    > Table1.Active:=False;

    > Table1.DatabaseName:=Path;

    > Table1.TableName:='main';

    > Table1.Active:=True;

    > end;

    >

    > 좋은 하루 되세요.

    >

    >

    > 이현섭 wrote:

    > > 데이타 베이스 프로그램을 만들고자 합니다. 그런데 실행시에 DB 파일과 테이블을 연결하는 방법을 모르겠습니다. 어떤 프로그램을 보면 실행파일내에 있는 db를 연결하여 어느 폴더에 있든지 간에 연결이 되던데 그런 프로그램을 만들고 싶습니다.

    > > 실행시에 실행파일이 있는 폴더의 db와 테이블을 연결시킬 수 없을까요. 무공이 강하신 분들의 한 수를 부탁드립니다. 꼭 좀 알려주세요. 부탁드립니다.

    > > formcreate 프로시져에 databasename과 tablename에 할당을 하였지만 에러가 발생합니다. 제발 좀 알려주세요.

  • Profile
    류성호 2000.01.11 19:03
    지금부터 설명은 델파이 4.0을 기준으로 쓴 것입니다.



    델파이 정품 CD에 InstallShield Express for Delphi가 들어 있습니다.

    한번 사용해 보세요. 마법사 기능이 있어 쉽게 설치 프로그램을 만들 수 있고,

    BDE을 설치할 수 있는 옵션도 있어 BDE설치와 Alias을 설치 프로그램에 넣을 수

    있습니다.



    다른 방법으로 인터넷에서 통하여 설치할 수 있도록 ActiveX형태로 만들어 진 것도

    있습니다. BDE자체가 ActiveX로 만들어 진 것은 아니고 설치프로그램이 ActiveX로

    만들어 졌습니다.(맞나)



    .BorlandBorland SharedBde 폴더에 bdeinst.cab이 있고, 같은 폴더에

    bdeinst.txt파일은 영어로 된 간단한 설명서가 있으니 참고 하세요.



    또 bdeinst.cab파일을 WinZip으로 풀면 BdeInst.dll라는 파일이 나옵니다.

    이 파일이 바로 ActiveX파일로 만들어진 BDE설치프로그램 입니다.

    설치는 ActiveX을 설치하듯 도스상태에서



    c:regsvr32 BdeInst.dll



    라고 치면 되죠





    몇 가지 더 이야기 하자면



    델파이 CD에 포함되어 있는 InstallShield Express 제품은 설치프로그램에 만들 때

    BDE을 추가로 설치할 수 있도록 만들어 졌습니다. 정품 InstallShield Express 경우

    Delphi뿐 만 아니라 Visual Basic, 파워빌더와 같은 Language에서 사용하는

    Database엔진(BDE, ADO, DAO ...등)까지 설치프로그램으로 만들 수 있죠.