全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1665
推到 Plurk!
推到 Facebook!

資料庫斷線問題

缺席
kenbcb
中階會員


發表:171
回覆:129
積分:60
註冊:2003-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-03 12:00:27 IP:61.222.xxx.xxx 未訂閱
請問各位,    我用TADOConnection來連結SQL(程式是window service) 當我故意停掉sql時,卻沒有發生斷線的event. 請問如何去檢查是否斷線呢? 我想發現斷線時,能夠知道斷線了,去進行連線,望各位指導!     
void __fastcall TService1::ConnectTimerTimer(TObject *Sender)
{
  if(!ADOConnection1->Connected)
  {
    try
    {
      MsgWriteFile("Login DB.");
      ADOConnection1->ConnectionString = ConnectStr;
      ADOConnection1->Connected = true;
      GPTable->Active = true;
      BaTable->Active = true;
      GPRecallTable->Active = true;
      BaRecallTable->Active = true;
    }
    catch(EOleException &e)
    {
      String msg;
      msg.sprintf("Open Database Error [0x%X] [%s]",e.ErrorCode,e.Message.c_str());
      MsgWriteFile(msg);
    }
    catch(...)
    {
      MsgWriteFile("Database Unknown Error.");
    }
  }      if(ADOConnection1->Connected && ClientSocket1->Active)
    ConnectTimer->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TService1::ADOConnection1AfterConnect(TObject *Sender)
{
   MsgWriteFile("DB Login Succssful.");
}
//---------------------------------------------------------------------------
void __fastcall TService1::ADOConnection1Disconnect(
      TADOConnection *Connection, TEventStatus &EventStatus)
{
  MsgWriteFile("Disconnect DB.");
  ConnectTimer->Enabled = true;
}
//-------------------------------------------------------------------------- 
發表人 - kenbcb 於 2005/11/03 12:36:53
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-08 08:09:16 IP:211.75.xxx.xxx 未訂閱
如果是MSSQL,那去看看SQLDMO吧!!! 至於其他的DB,那要去看該DB所提供的Interface是否有你要的功能
kenbcb
中階會員


發表:171
回覆:129
積分:60
註冊:2003-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-12 20:57:33 IP:61.219.xxx.xxx 未訂閱
引言: 如果是MSSQL,那去看看SQLDMO吧!!! 至於其他的DB,那要去看該DB所提供的Interface是否有你要的功能
SQLDMO要去那裡看呢? 小弟是初學者,可否在指導清楚點,不太明白?
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-13 22:35:30 IP:60.248.xxx.xxx 未訂閱
那是COM的物件 你需要先Import 它的TypeLibrary讓BCB產生相關的程式碼
kenbcb
中階會員


發表:171
回覆:129
積分:60
註冊:2003-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-15 13:24:32 IP:60.248.xxx.xxx 未訂閱
請問這有範例嗎? 實在不太會用
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-16 09:29:40 IP:211.75.xxx.xxx 未訂閱
MSSQL的COM Interface在其線上叢書有詳細的說明. 而如何在BCB中去引用COM物件那是另一個問題,仿間BCB的書大都有介紹說明,請你去買書參考. 範例可到MSDN或網路上找.
系統時間:2024-04-26 3:58:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!