SQL Server:基於WEB的資料庫查詢
本文通過一個例項介紹用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 跨資料庫查詢SQLServer資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- SQL Server 查詢資料庫中所有表資料條數SQLServer資料庫
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- SQL Server資料庫————模糊查詢和聚合函式SQLServer資料庫函式
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- CDA資料分析師 - SQL資料庫基礎 查詢&連線SQL資料庫
- SQL SERVER 2012查詢資料庫和所有表的大小方法彙總SQLServer資料庫
- SQL Server中Table字典資料的查詢SQL示例程式碼SQLServer
- 基於Sql server資料庫的四種分頁方式總結SQLServer資料庫
- Android SQL資料庫查詢方法 query( )AndroidSQL資料庫
- 資料庫基礎查詢--單表查詢資料庫
- SQL Server資料庫之datepart和datediff應用查詢當天上午和下午的資料SQLServer資料庫
- MSSQL資料庫健康檢查--SQL Server巡檢SQL資料庫Server
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- Sql Server 的引數化查詢SQLServer
- SQL的資料庫操作:新增、更新、刪除、查詢SQL資料庫
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL Server資料庫安全SQLServer資料庫
- 基於 Hyperf+ SQL Server 實現的一個簡單資料庫 curdSQLServer資料庫
- SQL Server 資料庫基礎筆記分享(上)SQLServer資料庫筆記
- 關於SQL Server 映象資料庫快照的建立及使用SQLServer資料庫
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- sql-server高階查詢SQLServer
- 關於Oracle資料庫的時間查詢Oracle資料庫
- SQL Server查詢慢的解決方案SQLServer
- 關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比資料庫SQL
- SQL Server資料庫基礎之行資料轉換為列資料SQLServer資料庫
- sql server 資料庫收縮SQLServer資料庫
- Blazor使用sql server 資料庫BlazorSQLServer資料庫
- SQL Server資料庫巡檢SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server收縮資料庫SQLServer資料庫
- 管理SQL Server資料庫安全SQLServer資料庫
- SQL Server資料庫遷移SQLServer資料庫
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- oracle資料庫sql查詢檢視第二次查詢很慢Oracle資料庫SQL