CFIF语句检查数据库(MSSQL)是否正在连接或存在

时间:2018-07-19 19:26:05

标签: coldfusion coldfusion-2016

我试图在Coldfusion 16中编写一条if语句,以检查它是否可以连接到数据库或它是否存在。如果它可以连接到数据库,则显示该页面,否则显示该页面以进行维护。我应该如何检查以确保数据库已启动?任何帮助,将不胜感激。

<cfquery name="DBUP" datasource="datasource"> 
SELECT ID
FROM dbo.Entry 
</cfquery> 

<cfif DBUP>
 Show Page
<cfelse>
 Show Down For Maintenance
</cfif>

2 个答案:

答案 0 :(得分:1)

您不应直接在catch语句中放入错误消息或文件。我们应该再检查一个条件,即错误代码是否为0。想象在某个时候开发人员可能会给出错误的查询,例如未定义的列或缺少语法等。在那个时候,捕获也会被执行。因此,根据要求,我们必须检查数据源是否存在。如果我们要检查所有类型的问题,则意味着我们不需要错误代码条件。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="lebenslauf_rubrik">
  <li id="li_1_19">
    <div id="zeile_1_19" class="lebenslauf_textteil_zeile" style="z-index: 15;">
      <div id="input_1_19" class="lebenslauf_textteil_input" contenteditable="true">Name</div>
      <div id="input_1_20" class="lebenslauf_textteil_input" contenteditable="true">Max Mustermann</div>

      <div class="lebenslauf_textteil_buttons">
        <input type="button" class="w3-btn" value="löschen">
        <input type="button" class="w3-btn" value="kopieren">
        <input type="button" class="w3-btn lebenslauf_sortieren_button sortable_eins_hoch" value="▲">
        <input type="button" class="w3-btn lebenslauf_sortieren_button sortable_eins_runter" value="▼">
      </div>
    </div>
  </li>

  <li id="li_1_19">
    <div id="zeile_1_21" class="lebenslauf_textteil_zeile" style="z-index: 15;">
      <div id="input_1_21" class="lebenslauf_textteil_input" contenteditable="true">Name</div>
      <div id="input_1_22" class="lebenslauf_textteil_input" contenteditable="true">Ralf</div>

      <div class="lebenslauf_textteil_buttons">
        <input type="button" class="w3-btn" value="löschen">
        <input type="button" class="w3-btn" value="kopieren">
        <input type="button" class="w3-btn lebenslauf_sortieren_button sortable_eins_hoch" value="▲">
        <input type="button" class="w3-btn lebenslauf_sortieren_button sortable_eins_runter" value="▼">
      </div>
    </div>
  </li>
</ul>

基于 showPage 值,您在这里有业务逻辑吗? .... .... ....

答案 1 :(得分:0)

您可能需要将其添加到Application.cfc onRequest方法中。

<cftry>
 <cfquery name="DBUP" datasource="datasource"> 
  SELECT ID
  FROM dbo.Entry 
  </cfquery>
<cfcatch type="any">
  Show DOwn For Maintenance
   <!---everything optional below this line--->
   <!---can show some custom message---> 
  <cfinclude template="errorMsg.cfm">
  <!---stop the processing further--->
  <cfabort>
</cfcatch> 
</cftry>