SQL Server中基於WEB的資料庫查詢

iSQlServer發表於2010-01-20

  本文通過一個例項介紹用ODBIC編寫在中文WIN95下訪問SQLSERVER資料庫的應用程式,體會以下ODBIC功能的靈活、方便、易學的,推薦給大家共免。

  97年以來基於WEB的資料庫應用在資料庫界談論的頗多,基於WEB的資料庫的應用,是將資料庫和WEB技術結合,按照 BROWS/SERVER結構建立的通過瀏覽器訪問資料庫的服務系統。目前以WEB資料庫為旗幟的產品、原形或設計方案及研究論文很多,開發資料庫的 WEB應用,建立能與資料庫互動的WEB網頁,大致有三中方法:其一是閘道器介面(CGI),其二是 JDBC(JAVADATABASECONNECTIVITY),其三是各資料庫廠家開發的各自的WEB中間間。

  各資料庫廠家開發的各自的WEB中介軟體雖好不能通用;JDBC可移植性、安全性與可靠性有顯著優點,但對開發難度大,不能滿足廣大非專業人員的 需要;CGI方式應用靈活,開發工具豐富,通用CGI程式也很多。本人通過在網上週遊,尋得一WEB資料庫CGI介面程式ODBIC(101K位元組大 小),小巧玲瓏,應用靈活,可以和各種資料

  庫(包括FOXPRO系列、SQLSERVER、ORACLE等)建立連線。

  ODBIC(OPENDATABASEINTERNECONNECTOR)程式是執行在WINDOWSNT和WIN95上的共享軟體,可通過 http://www.iodbc.com獲得該軟體(目前已有ODBIC1.5版,本文使用的是ODBIC1.4版)。ODBIC是在瀏覽器和資料庫之 間提供一個介面,即一個CGI程式,可以通過瀏覽器時時更新和瀏覽資料庫。

  通過ODBIC可以用標準的ANSISQL語句諸如:SELECT,INSERT,UPDATE,orDELETE對在ODBC中設定的所有數 據庫進行操作。ODBIC的最大優點是可以用摸板檔案作為輸入,摸板檔案也能接收命令中通過submit發來的使用者輸入引數,摸板包含標準的HTML命令 和文字,並且這些命令和文字ODBIC直接輸出到瀏覽器上,當然摸板也包含ODBIC命令和變數。當ODBIC以摸板作為輸入執行時,標準的HTML命令 和文字直接輸出到瀏覽器上,發現ODBIC命令時立即執行,發現ODBIC變數時立即用變數的當前值代替。ODBIC命令是放在標準的HTML語言的註釋 行裡,ODBIC變數是用一對符號括著,下面一個很簡單的例子說明ODBIC命令和變數是如何出現在摸板檔案裡的:

  < !--DATABASE DSN=$my_database$ -- >t;
  < !--SQL select * from my_table -- >;
  < !--TABLE-- >;

  DATABASE、SQL、TABLE 是ODBIC的最基本的命令。

  本文通過一個例項介紹用ODBIC編寫在中文WIN95下訪問SQLSERVER資料庫的應用程式,體會以下ODBIC功能的靈活、方便、易學 的,推薦給大家共免。在下面的例子裡,我們要用到一電信營業資料庫的長途電話明細表,表結構如下(資料庫名為TELEPHONE,所用表名為 DETAIL):

  主叫號碼(CALLER) 被叫號碼(CALLED) 起始時間(START-TIME) 通話時長(LENGTH)秒 通話話費(FEI)元

  PQABCD1 0101234567 98/03 19/27 100 220

  PQABCD2 0371123456 98/03 19/40 370 462

  ……

  ……

  首先,建立ODBC資料庫的連線,開啟WIN95的“設定”選單中的“控制皮膚”,啟動ODBC驅動程式,設定相應的ODBC驅動器,本例中為 SQLSERVER;建立資料來源,為了方便此處資料來源的名也為TELEPHONE。如果“控制皮膚”中沒有ODBC驅動程式,可以從WIN95的系統盤中 裝入,也可從一些共享軟體站點下載,具體辦法此處不在贅述。

  然後,編寫長話明細查詢主頁,為了簡化,清單中刪去了一些修飾性的HTML語句,查詢型別中也只保留了長話明細(可以包含電話擋案查詢和更改、交費彙總和明細、帳務處理等等)。

  長話明細查詢主頁清單:SEARCH.HTML

  < HTML >
  < HEAD >
  < TITLE >長話明細查詢主頁< /TITLE >
  < /HEAD >
  < CENTER >
  < TABLE >
  < FONT SIZE="5" COLOR="#990000" >
  長話明細查詢< /FONT >
  < FORM. METHOD="post" ACTION="
  ../cgi-bin/odbic.exe/cgi-bin/MODEL.html" >
  < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >
  電話號碼 : < /FONT > < /TD >
  < TD >< INPUT NAME="DHHM" TYPE="text" SIZE="12"
  >
  < /TD >< /TR >
  < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >
  授權口令: < /FONT > < /TD >
  < TD >< INPUT NAME="PWD" TYPE="password" SIZE="12"
  >
  < /TD >< /TR >
  < TR >< TD ALIGN="right" >< FONT COLOR="#990000" >
  查詢型別: < /FONT > < /TD >
  < TD >< SELECT NAME="CATE" >
  < OPTION VALUE= >--請選擇--
  < OPTION VALUE="ch" >長話明細
  < /TD >< /TR >
  < /TABLE >
  < INPUT TYPE="submit" VALUE="查詢 " >
  < INPUT TYPE="reset" VALUE="清除 " >< /FONT >
  < /FORM. >
  < /CENTER >
  < /BODY >
  < /HTML >

  接下來就是編寫摸板檔案,在編寫之前,先介紹以下ODBIC的主要命令。ODBIC軟體主要有以下命令:

  DATABASE定義連線ODBC資料庫的引數;

  DEFAULT定義變數的預設初始值;

  EACHROW,ENDROW格式化結構化查詢後的每一行結果;

  EXEC執行一個系統命令或執行一個DOS程式;

  EXIT終止ODBIC對摸板檔案的執行;

  FORMAT定義變數的輸出格式;

  IF,ELSE,ENDIF變數條件判斷語句;

  IFNEW判斷經過對某一欄位排序的表是否該欄位的值發生了變化;

  INCLUDE讀入另一摸板檔案;

  OPTIONLIST從查詢結果產生一個HTML的“SELECTOPTION”命令;

  OUTPUT把結果輸出到磁碟檔案;

  SET對變數賦值;

  SQL執行ODBCSQL語句;

  TABLE自動格式化SELECT語句的結果到HTML格式。

  從以上命令可以看出,ODBIC軟體功能的強大,通過IF-ELSE-ENDIF和SET命令,可以編寫實現很多功能,下面摸板的功能是從 SEARCH.HTML主頁中獲取電話號碼和授權口令,對所輸號碼的明細進行查詢,查詢結果以表格形式輸出,並對話費進行合計。摸板檔案清單見後(檔案中 “//”後面的是註釋):摸板檔案清單:MODEL.HTML

  < HTML >
  < HEAD >
  < TITLE >ODBIC-TEST-MODEL< /TITLE >
  < /HEAD >
  < BODY BGCOLOR="#ff00ff" TEXT="#FFFF00"
  LINK="#ff00ff" ACTIVE="#000000" VISITED="#000000" >
  < center >
  < table border=3 >
  < !--if $CATE$=ch-- >
  < P >查詢號碼:$dhhm$
  < !--SET HJ=0.0 -- > //設定合計話費變數的初值;
  < !--DATABASE DSN=telephone;UID=myloginame;PWD=$PWD$ -- >
  //DSN、UID、PWD分別為聯結資料庫的資料庫名、
  使用者登入名稱、
  //登入口令,這三項均可以變數的形式接收使用者輸入;
  < !--SQL select called,start_time,length,feI from detail where
  caller=$dhhm$ order by start_time -- >
  < !--eachrow-- >
  < tr >< td >$row$< /td >< td >$called$< /td >< td >
  $start_time$< /td >< td >$length$< /td >
  < td >$fei$< /td >< /tr > //變數row為ODBIC
  本身提供內部變數,表示當前結果集的行//號,ODBIC對結果集的欄位名自動預設為變數;
  < !--set $HJ$=$HJ$+$FEI$-- >
  < !--endrow-- >
  < /table >
  < !--ELSE -- >
  < p >< front SIZE="6" COLOR="#990000" >
  對不起你的口令錯誤!< /front >
  < !--E-- >
  < /center >
  < /BODY >
  < /HTML >

  總上所述,我們SQLSERVER資料庫進行了互動訪問,同樣也可對ORACLE、SYBASE、ACCESS、FOXPRO系列等資料庫的訪 問,並且在同一個摸板檔案可以同時開啟上述資料庫,並把它們關聯起來進行事務處理。對於廣大關心基於WEB的資料庫應用的計算機愛好者來說,ODBIC的 確簡單、易學、功能強大,本文只是大致介紹了以下,希望我的文章能起到拋磚引玉的作用,歡迎朋友門交流、指導。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-625597/,如需轉載,請註明出處,否則將追究法律責任。

相關文章