|
안녕하세요?... 여기도 비가 많이 내리는 군요.. 여긴 인천.. ^^
Destinyz님의 코드에서 DBFileName이 서로다른 ADOConnection에서 같던데...
파일을 DB로 사용하실 경우에 다른 Connection을 할 수 없습니다.
그게 문제 인거 같군요. 에러 내용은.. 저는 국문으로 나와서... 쩝.
첫번째 Connection에서는 에러가 발생하지 않는데
두번째 Connection에서는 DB설정 파일 연결이 없다는 에러가 나오네요.
다른 DB파일을 사용하시던지요 아니면 Connection을 공유하세요
이런 방법은 어떠실지요...
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Timer1->Enabled=false;
String ExecutePath=ExtractFilePath(Application->ExeName)+"DB\\";
String DBFileName="FileDB.mdb";
FileDataBase->ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExecutePath+DBFileName+";Persist Security Info=False";
FileDataBase->ADOConnection1->Connected=true;
FileDataBase->ADOQuery1->Active=true;
// DBFileName="FileDB.mdb";
// SpyDataBase->ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExecutePath+DBFileName+";Persist Security Info=False";
// SpyDataBase->ADOConnection1->Connected=true;
/* SpyDataBase가 하나의 폼이 라면.. FileDataBase 폼의 헤더를 Include시키고.. */
SpyDataBase->ADOQuery1->Connection = FileDataBase->ADOConnection1;
// ADOConnection은 FileDataBase에 있는 Connection을 이용한다.
SpyDataBase->ADOQuery1->Active=true;
Form1->Hide();
Form2->Show();
}
아니면.. 디지인 타임에서 SpyDataBase의 ADOQuery1의 Connection을 FileDataBase->ADOConnection1로
지정 해놓으셔도 됩니다.
그럼..
Destinyz 님이 쓰신 글 :
: 안녕하세요, Destinyz입니다^^ 제가 살고 있는 서울에 하늘에 구멍이 뚫린듯 비가 엄청나게 쏟아집니다^^ 이미 피해를 입으셨거나 저지대에 사시는분들, 부디 무사하시고 피해없으시길 바랍니다.
:
: 다름이 아니라 또 데이터베이스 ADO에 대해서 질문을 드리고자 합니다^^
:
: 저번 질문에서, 고황일 님과 김태정 님께서 좋은 답변 달아주셨는데요, 고황일 님의 답변대로 하는 도중 또 첨부파일과 같은 에러가 났습니다. 권한 문제인것 같기도 하구...
:
: 전 맨처음 실행되는 Form1에 타이머에 설정을 했습니다. 아래는 제가 고황일 님의 말씀대로 해본 것 입니다.(김태정 님께서 일러주신대로 한 것도 있습니다(Default Database에서 ".\DB"라고 설정함.)
:
: //////////
: // 1초가 지나면 아래의 소스코드가 실행됩니다.
:
: void __fastcall TForm1::Timer1Timer(TObject *Sender)
: {
: Timer1->Enabled=false;
: String ExecutePath=ExtractFilePath(Application->ExeName)+"DB\\";
: String DBFileName="FileDB.mdb";
: FileDataBase->ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExecutePath+DBFileName+";Persist Security Info=False";
: FileDataBase->ADOConnection1->Connected=true;
: FileDataBase->ADOQuery1->Active=true;
: DBFileName="FileDB.mdb";
: SpyDataBase->ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExecutePath+DBFileName+";Persist Security Info=False";
: SpyDataBase->ADOConnection1->Connected=true;
: SpyDataBase->ADOQuery1->Active=true;
: Form1->Hide();
: Form2->Show();
: }
:
: /////////
:
: 제가 잘 못한것일 수도 있습니다. 제가 잘못한 부분이 있다면 옳게 일러주시옵고, 그 오류창에 대한 말씀도 해주시기바랍니다.
: 참신하고 좋은 답변 기다리고 있겠습니다. 감사합니다^^
|