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

C++빌더 Q&A
C++Builder Programming Q&A
[44105] Re:Re:DataBase에 관한 질문입니다^^[다시얘기하자면;]
Destinyz [destinyz] 803 읽음    2006-03-13 19:11
음 외랑님 답변 정말 감사합니다^^ 그런데 안되더군요;;

그러니까 님의 말씀으로 하자면 데이터베이스 파일명이 FileDB.db입니다.

그 것을

AnsiString dbfName = ExtractFilePath(Application->ExeName) + "FileDB.db";

로 하고,

Form4->Table1->DatabaseName = dbfName;
(Form4에 Form Wizzard로 한 Table이 있습니다. Form1에서 DatabaseName을 하려고 했구요)

이렇게 했는데 안되더군요.. 외랑님의 말씀이 맞다면, 제가 이 코드를 사용해야할 위치를 잘못잡아서 그런게 아닌가 싶군요..;

이제까지 Form1의 Timer1Timer에다가 했었는데요, 혹시 몰라서 다른 폼인 Form2의 Form2Show에다가 했는데 안되고, Form2Paint에도 해도 안되더군요.

외랑님 말씀이 맞으시다면 제가 위치 선정을 잘못해서 그런 것 같습니다.

아 그리고, Table의 속성을 보니까, DatabaseName에는 그 머지? Alias인가 그게 들어가는 것 같던데요,

예전에 맨 처음 Form4를 만들었을때는 처음 만들었던 폴더의 경로명(파일명은 없었음)만 있었구요..

그러니까 맨 처음에 코드 말구 속성창에서 E:\Programming\Project S로 되어 있었습니다.

관련해서 의견좀 부탁드리구요;; 그리고 TableName에 대해서두요..

맨처음 생성시에 속성창을 보니까 TableName에 FileDB.DB라도 써있더군요;; 이것두 알려주심 감사할게요^^

그리고 오류난 거 사진 첨부 해드릴테니(중복이지만요 ㅋㅋ) 보고 참고좀 해주시면 답변해주시는데 도움이 되실것 같습니다.

참신한 답변 기다리고 있겠습니다^^*


외랑 님이 쓰신 글 :
: 음.. 제가 드린 답변은 실행파일 폴더에 DB가 있다면, 이렇게 구하면 됩니다. 사용하세요...였는데..
: 다시 한번 정리해 볼까요..
: 질문 ->
: : 항상 바뀌잖아요[다른 컴터에서 다른 폴더에다가 깔면 고정한 경로명은 못읽는다는거죠]
: 다른 폴더에 깔면 그 실행 경로를 구해서 DB파일명과 함께 사용한다. 입니다.
: : Table1->DataBaseName=ExecuteFilePath(Application->ExeName);   <== 오타겠지요. ExtractFilePath
: : 으로 했더니 안되더군요.. ㄱ- 보니까 값이
: : "E:\\Programming\\Project S\\"
: : 로 되어서 안되는가 싶었죠..
: : 그래서 뒤에 \를 없애고 다시 해보아도 안되더군요;;
: 안되는 이유는 당연히 파일명은 없으니까요... \를 없애는게 아니라 파일명을 더해서
: 완전한 경로+파일명을 줘서 Open할 수 있도록 해줘야 됩니다. 입니다.
:
:
:
: Destinyz 님이 쓰신 글 :
: : 음 제가 하려던것이 DB파일이 있는 폴더 그러니까 실행하고 있는 파일이 있는 폴더 안에 DB가 있는데요,
: :
: : 항상 바뀌잖아요[다른 컴터에서 다른 폴더에다가 깔면 고정한 경로명은 못읽는다는거죠]
: :
: : 예를 들자면...
: :
: : E:\Programming\Project S 에 DB파일과 실행파일이 있다고하면,
: :
: : Table1->DataBaseName="E:\\Programming\\Project S";
: : (원래는 코딩으로 하지 않고 속성에서 바로 입력한 것입니다^^;)
: :
: : 일테고요.. 폴더가 변경되지 않는 한은 계속 되겠죠.. 하지만
: :
: : C:\Documents and Settings\Destinyz\바탕 화면\Project S
: :
: : 이렇게 변경되는 등 여러 가지 상황일때, 고정적으로 하면 한계가 있다는 것입니다.
: :
: : 그래서
: :
: : Table1->DataBaseName=ExecuteFilePath(Application->ExeName);
: :
: : 으로 했더니 안되더군요.. ㄱ- 보니까 값이
: :
: : "E:\\Programming\\Project S\\"
: :
: : 로 되어서 안되는가 싶었죠..
: :
: : 그래서 뒤에 \를 없애고 다시 해보아도 안되더군요;;
: :
: : 이거 설정하는 법좀 알려주세요.. 부탁드립니다^^
: :
: : 참신한 답변 기다리고 있겠습니다^^*

+ -

관련 글 리스트
44080 DataBase에 관한 질문입니다^^ Destinyz 775 2006/03/11
44097     Re:DataBase에 관한 질문입니다^^ 외랑 785 2006/03/13
44105         Re:Re:DataBase에 관한 질문입니다^^[다시얘기하자면;] Destinyz 803 2006/03/13
44082     Re:DataBase에 관한 질문입니다^^ 외랑 822 2006/03/11
44084         Re:Re:DataBase에 관한 질문입니다^^[안되서요;ㅋ] Destinyz 738 2006/03/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.