/// <summary> /// 根据配置文件中数据库参数,判断数据库连接状态 /// 同步程序是否唯一;原来是5秒定时器 /// </summary> void CheckDBStatusAndCanRun() { while (true) { try { //访问数据库,判断连接性 if (dbHelp.TestDB()) { StartSyncWork();//因数据库连接成功,在调用TestCanRun前实现手动点击功能 UpdateUIByDBSuccess(CheckCanRun()); } else { bDBConnectStatus = false; bCanRun = false; synServerIP = String.Empty;//因数据库断开,造成停止,已有其他日志追踪,这里恢复默认值 UpdateUIByDBFail(); } } catch (Exception ex) { InternalLogger.Log.Error("清理显示消息或判断数据库连接状态出错:" + ex.Message); } Thread.Sleep(UPDATEMSGDB_INTERNAL);//此间隔要尽量小 } }
private void btnTestConnect_Click(object sender, EventArgs e) { SaveConfig(); if (db.TestDB()) { btnSaveConfig.Enabled = true; MessageBox.Show(" 连接成功,确认后请按保存键!"); } else { btnSaveConfig.Enabled = false; MessageBox.Show(" 连接失败!!!"); } if (ConnectDBResult != null) { ConnectDBResult(btnSaveConfig.Enabled, null); } }