本文通過一個實例介紹用ODBIC編寫在中文WIN下訪問SQLSERVER數據庫的應用程序體會以下ODBIC功能的靈活方便易學的推薦給大家共免
年以來基於WEB的數據庫應用在數據庫界談論的頗多基於WEB的數據庫的應用是將數據庫和WEB技術結合按照BROWS/SERVER結構建立的通過浏覽器訪問數據庫的服務系統目前以WEB數據庫為旗幟的產品原形或設計方案及研究論文很多開發數據庫的WEB應用建立能與數據庫交互的WEB網頁大致有三中方法其一是網關接口(CGI)其二是JDBC(JAVADATABASECONNECTIVITY)其三是各數據庫廠家開發的各自的WEB中間間
各數據庫廠家開發的各自的WEB中間件雖好不能通用;JDBC可移植性安全性與可靠性有顯著優點但對開發難度大不能滿足廣大非專業人員的需要;CGI方式應用靈活開發工具豐富通用CGI程序也很多本人通過在網上周游尋得一WEB數據庫CGI接口程序ODBIC(K字節大小)小巧玲珑應用靈活可以和各種數據
庫(包括FOXPRO系列SQLSERVERORACLE等)建立連接
ODBIC(OPENDATABASEINTERNECONNECTOR)程序是運行在WINDOWSNT和WIN上的共享軟件可通過獲得該軟件(目前已有ODBIC版本文使用的是ODBIC版)ODBIC是在浏覽器和數據庫之間提供一個接口即一個CGI程序可以通過浏覽器時時更新和浏覽數據庫
通過ODBIC可以用標准的ANSISQL語句諸如SELECTINSERTUPDATEorDELETE對在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 >;
DATABASESQLTABLE 是ODBIC的最基本的命令
本文通過一個實例介紹用ODBIC編寫在中文WIN下訪問SQLSERVER數據庫的應用程序體會以下ODBIC功能的靈活方便易學的推薦給大家共免在下面的例子裡我們要用到一電信營業數據庫的長途電話明細表表結構如下(數據庫名為TELEPHONE所用表名為DETAIL)
主叫號碼(CALLER) 被叫號碼(CALLED) 起始時間(STARTTIME) 通話時長(LENGTH)秒 通話話費(FEI)元
PQABCD / /
PQABCD / /
……
……
首先建立ODBC數據庫的連接打開WIN的設置菜單中的控制面板啟動ODBC驅動程序設置相應的ODBC驅動器本例中為SQLSERVER;建立數據源為了方便此處數據源的名也為TELEPHONE如果控制面板中沒有ODBC驅動程序可以從WIN的系統盤中裝入也可從一些共享軟件站點下載具體辦法此處不在贅述
然後編寫長話明細查詢主頁為了簡化清單中刪去了一些修飾性的HTML語句查詢類型中也只保留了長話明細(可以包含電話擋案查詢和更改交費匯總和明細帳務處理等等)
長話明細查詢主頁清單SEARCHHTML
< HTML >
< HEAD >
< TITLE >長話明細查詢主頁< /TITLE >
< /HEAD >
< CENTER >
< TABLE >
< FONT SIZE= COLOR=# >
長話明細查詢< /FONT >
< FORM METHOD=post ACTION=
/cgibin/odbicexe/cgibin/l >
< TR >< TD ALIGN=right >< FONT COLOR=# >
電話號碼 : < /FONT > < /TD >
< TD >< INPUT NAME=DHHM TYPE=text SIZE=
>
< /TD >< /TR >
< TR >< TD ALIGN=right >< FONT COLOR=# >
授權口令: < /FONT > < /TD >
< TD >< INPUT NAME=PWD TYPE=password SIZE=
>
< /TD >< /TR >
< TR >< TD ALIGN=right >< FONT COLOR=# >
查詢類型: < /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定義變量的默認初始值;
EACHROWENDROW格式化結構化查詢後的每一行結果;
EXEC執行一個系統命令或運行一個DOS程序;
EXIT終止ODBIC對摸板文件的執行;
FORMAT定義變量的輸出格式;
IFELSEENDIF變量條件判斷語句;
IFNEW判斷經過對某一字段排序的表是否該字段的值發生了變化;
INCLUDE讀入另一摸板文件;
OPTIONLIST從查詢結果產生一個HTML的SELECTOPTION命令;
OUTPUT把結果輸出到磁盤文件;
SET對變量賦值;
SQL執行ODBCSQL語句;
TABLE自動格式化SELECT語句的結果到HTML格式
從以上命令可以看出ODBIC軟件功能的強大通過IFELSEENDIF和SET命令可以編寫實現很多功能下面摸板的功能是從SEARCHHTML主頁中獲取電話號碼和授權口令對所輸號碼的明細進行查詢查詢結果以表格形式輸出並對話費進行合計摸板文件清單見後(文件中//後面的是注釋)摸板文件清單MODELHTML
< HTML >
< HEAD >
< TITLE >ODBICTESTMODEL< /TITLE >
< /HEAD >
< BODY BGCOLOR=#ffff TEXT=#FFFF
LINK=#ffff ACTIVE=# VISITED=# >
< center >
< table border= >
< !if $CATE$=ch >
< P >查詢號碼$dhhm$
< !SET HJ= > //設置合計話費變量的初值;
< !DATABASE DSN=telephone;UID=myloginame;PWD=$PWD$ >
//DSNUIDPWD分別為聯結數據庫的數據庫名
用戶登錄名稱
//登錄口令這三項均可以變量的形式接收用戶輸入;
< !SQL select calledstart_timelengthfeI 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= COLOR=# >
對不起你的口令錯誤!< /front >
< !E >
< /center >
< /BODY >
< /HTML >
總上所述我們SQLSERVER數據庫進行了交互訪問同樣也可對ORACLESYBASEACCESSFOXPRO系列等數據庫的訪問並且在同一個摸板文件可以同時打開上述數據庫並把它們關聯起來進行事務處理對於廣大關心基於WEB的數據庫應用的計算機愛好者來說ODBIC的確簡單易學功能強大本文只是大致介紹了以下希望我的文章能起到拋磚引玉的作用歡迎朋友門交流指導
From:http://tw.wingwit.com/Article/program/Oracle/201311/16732.html