首先,為了使大家能邊看下面的介紹邊上機操作,您需要在Windows 95或Windows NT上作如下準備工作。
1.建立ACCESS數(shù)據庫,c:\my documents\mydata.mdb。
2.在mydata數(shù)據庫中建表mytable(a dblong,b dbtext,c dblong),并添加適量的試驗數(shù)據。
3.建立系統(tǒng)DSN(database source name),在控制面板的ODBC中進行設置,取數(shù)據源名為ACCESSMDB,并指向剛建的mydata數(shù)據庫。
4.安裝PWS(Personal Web Server),它位于Windows 98光盤的\addons\pws目錄中。
5.用frontpage在PWS上新建一Web,如http://yourhostname/myweb,在缺省情況下,yourhostname是您的主機名稱。
6.用frontpage軟件打開新建的myweb,并新建一子目錄scripts,然后將scripts設置為可執(zhí)行的子目錄。
至此,如果您的設置正確,那么可打開Internet Explorer(以下簡稱IE),并在地址欄中鍵入http://yourhostname/myweb/scripts后會看到如下提示:
Directory Listing Denied
This Virtual Directory does not allow contents to be listed
這是因為該目錄既無缺省的html文件(一般為default.htm),又不允許列出目錄,但這已說明您的pws設置正確。下面來介紹種制作方法。
一.用Frontpage Database Region Wizard向導完成設置
·打開Frontpage,進入已經建好的Web即myweb中,新建一頁面newpage1,并編輯它。
·單擊菜單欄中的“insert”,并選擇“database”、“database region wizard”,這時會彈出一個對話框。
·在“odbc data source name”下的輸入欄中,輸入已建好的DSN,即Accessmdb,然后點擊Next按鈕進入下一步。
·在“Enter the sql string for the query”下的輸入欄中輸入select a,b,c from mytable,然后點擊Next按鈕進入一下步。
·點擊Add按鈕,在“enter the name of a query field to be added to the list”下的輸入欄中輸入字段名a,然后點擊Ok按鈕。
·重復上一步,將字段b和c都添加到查詢列表中。
·點擊Finish按鈕。
·此時系統(tǒng)會提示您將該頁面保存在可執(zhí)行的目錄中,并將擴展名改為*.asp,按照提示將newpage1.htm移動到scripts目錄中,將newpage1.htm重命名為newpage1.asp。
在IE地址欄中輸入http://youhostname/myweb/scripts/newpage1.asp,按回車后會看到數(shù)據庫中的實驗數(shù)據被顯示了出來。
此種方法操作簡單,但不靈活,生成的html文件可讀性差,不容易添加二次鏈接。
二.直接調用HTTPODBC.DLL(IDC/HTX)
HTTPODBC.DLL被稱作Internet Database Connector,是一個ISAPI(Internet Server Application Programming Interface),它通過調用ODBC來訪問數(shù)據庫。
這種方法涉及三個主要文件:
1.httpodbc.dll
在安裝PWS后,該文件被放在\windows\system\inetsrv目錄中。
2.IDC文件
IDC文件是一文本文件,擴展名為IDC(Internet Databse Connector),它包含HTML文件連接到數(shù)據庫的必要信息、SQL語句、模板文件名等。
文件格式:name:value,其中name為項目名稱,如datasource、template、sqlstatement、username、password等。
項目說明:
datasource:數(shù)據源名,即在控制面板的ODBC中所建的數(shù)據源名(system DSN)。
Template:模板文件名,該文件要與IDC文件同位于一個可執(zhí)行的子目錄中。
Sqlstatement:所要執(zhí)行的SQL語句。
一個IDC文件至少要包含datasource、template、sqlstatement三項。
3.HTX文件
它是一個html文件,擴展名為HTX(HTML Extension File),它是數(shù)據庫中的記錄返回到頁面的格式說明。
格式說明:
<%begindetail%>:返回多個記錄時的起始位置。
<%endetail%>:返回多個記錄時的結束位置。
<%fieldname%>:返回的字段名表示方法。
4.舉例
.用notepad新建一文件,文件內容如下:
datasource:accessmdb
template:myhtx.htx
sqlstatement:select a,b,c from mytable
.將文件用myidc.idc名字保存到scripts目錄中。
.用notepad新建一文件,文件內容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Home Page</title>
</head>
<body>
<table border="1" width="">
<tr>
<th width="30%" align="center">A</th>
<th width="30%" align="center">B</th>
<th width="40%" align="center">C</th>
</tr>
<%begindetail%>
<tr>
<td width="30%"><small><small><%a%></small></small></td>
<td width="30%"><small><small><%b%></small></small></td>
<td width="40%"><small><small><%c%></small></small></td>
</tr>
<%enddetail%>
</table>
</body>
</html>
.以myhtx.htx名字保存文件,將上述文件保存到scripts目錄中。在IE的地址欄中輸入http://yourhostname/myweb/scripts/myidc.idc,按回車后可看到返回的記錄了。
這種方法看起來麻煩,但使用起來卻極為方便。事實上,您可以在數(shù)據庫中作查詢,將正確生成的SQL語句拷貝到IDC文件的sqlstatement項目中。另一方面,你可用頁面編輯器(如Frontpage),作好一格式頁面,然后將生成的html文件拷貝到HTX文件中,再按HTX文件的格式要求稍作修改變成標準的HTX文件了。
另外,IDC文件及HTX文件的可讀性強,您可修改HTX文件,從而生成二次鏈接,即按照返回的記錄鏈接到不同的IDC或HTML文件,如:
<tr><A href="<%a%>.htm"><%a%></A></tr>
這樣,在返回的表中,形成了二次鏈接,按返回的字段a值的不同,可鏈接到不同的a.htm文件。
三.用ActiveX部件制作動態(tài)Web頁面
這種方法的重點是,首先用VISUAL BASIC 5.0或VISUAL C++在Web服務器建立ActiveX部件,然后調用OLEISAPI.DLL,實現(xiàn)對數(shù)據庫的訪問。其優(yōu)點是使用非常靈活,在輸出的html文件中可添加匯總(total或subtotal),字段可按指定的格式進行輸出。