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

iSQlServer發表於2009-11-04

  本文通過一個例項介紹用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;
  ;
  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


  
  
  長話明細查詢主頁
  
  
  TABLE >
  FONT SIZE="5" COLOR="#990000" >
  長話明細查詢
  METHOD="post" ACTION="
  ../cgi-bin/odbic.exe/cgi-bin/MODEL.html" >
  
  電話號碼 :  
  text" SIZE="12"
  >
  
  
  授權口令:  
  password" SIZE="12"
  >
  
  
  查詢型別:  
  
  --請選擇--
  長話明細
  
  
  
  
  
  
  
  

  接下來就是編寫摸板檔案,在編寫之前,先介紹以下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


  
  
  ODBIC-TEST-MODEL
  
  TEXT="#FFFF00"
  LINK="#ff00ff" ACTIVE="#000000" VISITED="#000000" >
  
  
  
  查詢號碼:$dhhm$
   //設定合計話費變數的初值;
  DATABASE DSN=telephone;UID=myloginame;PWD=$PWD$ -- >
  //DSN、UID、PWD分別為聯結資料庫的資料庫名、
  使用者登入名稱、
  //登入口令,這三項均可以變數的形式接收使用者輸入;
    caller=$dhhm$ order by start_time -- >
  
  $row$$called$
  $start_time$$length$
  $fei$ //變數row為ODBIC
  本身提供內部變數,表示當前結果集的行//號,ODBIC對結果集的欄位名自動預設為變數;
  
  
  
  
  
  對不起你的口令錯誤!
  
  
  
  

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

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

相關文章