Internet數據庫連接器(IDC,Internet Database Connector)介紹

IDC簡介

   Internet數據庫連接器(IDC,Internet Database Connector)技術最早出現於Microsoft Internet Information Server 2.0版本中,Web客戶通過IDC訪問Web服務器上的數據。IDC使用戶通過瀏覽器可以瀏覽服務器上的信息和訪問後臺數據庫。IDC是ISAPI的一個具體實現,利用IDC生成一個從客戶端HTML頁面到服務器端IIS的數據庫操作。它是一個HTTPODBC.DLL(動態連接庫)。

 

   與傳統的CGI技術相比,IDC在一定程度上解決了CGI腳本較慢的訪問速度和使用維護復雜的問題。在CGI技術中,客戶提出請求,服務器把請求寫入初始化文件,進程從初始化文件中讀取查詢並對後臺數據庫執行查詢。進程將後臺數據庫返回數據形式化為HTML字符串,並傳送給服務器。服務器再把HTML串傳送給客戶。可以看出,這樣的流程是復雜緩慢的。特別在網絡擁塞時,CGI的速度會另人難以忍受。

 

IDC工作需求
   IDC要求客戶端有Web瀏覽器。服務器端需安裝各種數據源的ODBC(Open Database Connectivity)驅動,IDC調用相應的ODBC驅動程序來訪問數據庫。在服務器上運行IIS /IDC。

 

IDC工作原理
   IDC使用Internet數據庫連接器(.idc)文件訪問數據庫,用HTML擴展文件(.htx)文件構造輸出Web頁面。Internet數據庫連接器文件指定所要連接的ODBC數據源,HTML擴展文件的名稱和位置,以及要執行SQL語句。HTML擴展文件是服務器對SQL執行結果進行格式化而形成的HTML文件,它將最終結果傳送給用戶。

 

   以下為一個典型的工作流程。客戶端通過瀏覽器向服務器發出請求,同時通過HTTP請求一個IDC文件。服務器接收請求,並調用HTTPODBC.DLL接收該請求的所有參數。HTTPODBC.DLL用IDC文件中的SQL語句對數據源進行各種數據操作,再將結果通過IDC文件中指定的HTX文件傳回給客戶端。

 

IDC執行實例
   IDC執行需要三個ASCII文本文件,HTML文件,IDC文件和HTX文件。HTML文件需保存在INETPUB/WWWROOT/子目錄下,IDC文件和HTX文件需保存在INETPUB/SCRIPTS/子目錄下。可以使用任何文本編輯器對這三種文件進行編輯。服務器中要內裝Windows NT Server 4.0和SQL Server 6.5或以上版本。
下面將通過講解一個實例來說明IDC的程序設計和執行。該實例使用IDC技術完成對服務器後臺數據庫的查詢、添加、修改和刪除。

 

1    建立後臺數據庫
* 啟動Microsoft SQL Server 6.5中的SQL Enterprise Manager。
* 建設備。在Database Devices上擊右鍵,選New Device。
1.出現New Database Device框。輸入設備名、設備存儲地址、設備大小等信息,如設備名為stu95,設備存儲地址為c:\stu95.DAT(缺省),設備大小為1M(缺省)。單擊Create Now。

 

2.出現內容為“The database device was successfully created.”的提示框。單擊確定。在Database Devices下多了一個新建的設備stu95。
* 建數據庫。在Databases上擊右鍵,選New Database。
出現New Database框。輸入數據庫名、數據庫所在設備名、數據庫大小等信息,如數據庫名為stu,數據庫所在設備名為stu95,數據庫大小為1M(缺省)。單擊Create Now。在Databases下多了一個新建的數據庫stu。
* 建表。
1.單擊新建數據庫stu前的“+”號,出現Groups/Users和Objects兩個子目錄。
2.單擊Objects前的“+”號,在Tables上擊右鍵,選New Table。

 

3.出現Manage Tables框。輸入所需的字段。如:
Column Name        Datatype         Size       
name            char             8
age                 int             4(缺省,無法改變)
sex                 char             2
phone            char             12
email            char             50

 

4.單擊保存圖標,出現Specify Table Name框,在New Table Name欄中輸入表名,如people。單擊OK。
2    增加ODBC數據源
* 啟動Windows NT 4.0。
* 開始──設置──控制面板──雙擊ODBC圖標。
* 出現“ODBC數據源”對話框。單擊“係統DSN”按鈕。
* 出現“係統數據源”對話框。單擊“添加”按鈕。
* 出現“添加數據源”對話框。框中選定ODBC驅動程序,如SQL Server,並單擊“確定”。
* 出現專用於驅動程序的對話框,如ODBC SQL Server Setup,輸入數據源的名稱,如CLASS。在Options中輸入後臺數據庫的名稱,如stu。單擊“OK”按鈕,再次顯示“係統數據源”對話框,可以看到新建的數據源CLASS在框內。
* 單擊“確定”按鈕關閉“數據源”對話框。

 

3    編寫HTML文件
HTML文件通常保存在INETPUB/WWWROOT/子目錄下,本例保存了三個HTML文件,class.htm、add.htm和search.htm。其中class.htm為訪問入口,add.htm用於向後臺數據庫stu的people表中添加記錄,search.htm用於查詢後臺數據庫stu的people表中滿足條件的記錄。本例使用Microsoft FrontPage 98設計。下面分別是這三張主頁的HTML代碼。

 

class.htm文件:

< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Theme"  content ="none" >
< meta  name ="Microsoft Border"  content ="none" >
< title > 同學通訊錄 </ title >
</ head >
< body  bgcolor ="#FFFFFF" >
< p >< big > 同學通訊錄: </ big ></ p >
< p >   </ p >
< p >< big >< big > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
< href ="search.htm" > 查詢 </ a ></ big ></ big ></ p >
< p >< big >< big > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
< href ="http://misserver/add.htm" > 添加 </ a ></ big ></ big ></ p >
</ body >
</ html >

 

add.htm源文件
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Border"  content ="none" >
< title > 添加記錄 </ title >
</ head >
< body >
< p >   </ p >
< p > 請在下表中填寫相關的信息: </ p >
< form  method ="POST"  action ="scripts/class/add.idc" >
< table  border ="1"  cellpadding ="0"  width ="100%" >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 姓名: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtname"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 年齡: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtage"  size ="2" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 性別: </ td >
< td  width ="50%" >< input  type ="radio"  value ="男"  checked name ="gender" > < input
type ="radio"  name ="gender"  value ="女" > </ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 電話: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtphone"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > Email: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtemail"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p >< input  type ="submit"  value ="添加"  name ="cmdadd" ></ td >
< td  width ="50%" >< input  type ="reset"  value ="清除"  name ="cmdclear" ></ td >
</ tr >
</ table >
</ form >
< p >< href ="class.htm" > 返回 </ a ></ p >
</ body >
</ html >

 

search.htm文件

< html >
< head >
< title > 同學通訊錄 </ title >
</ head >
< body  bgcolor ="#FFFFFF" >
< form  method ="POST"  action ="/scripts/class/search.idc" >
< p > 輸入您想查詢的同學姓名: </ p >
< p >< input  type ="text"  name ="txtname"  size ="20" >< input  type ="submit"  value ="開始"
name
="B1" >< input  type ="reset"  value ="清除"  name ="B2" ></ p >
</ form >
< p >< href ="class.htm" > 返回 </ a ></ p >
</ body >
</ html >

 

4    編寫IDC文件
   IDC文件應保存在INETPUB/SCRIPTS/子目錄下,可以在此目錄下進一步建立子目錄,本例在INETPUB/SCRIPTS/CLASS/子目錄下保存了四個IDC文件,add.idc、edit.idc|、delete.idc和search.idc。分別完成前臺網頁與後臺數據庫的記錄增加、記錄修改、記錄刪除和記錄檢索的功能。本例使用記事本設計,但保存時應存為後綴是.idc的文件。
示例.idc文件中數據源的名稱(Datasource)為“CLASS”。用戶名(Username)為sa、密碼(Password)未設,來保證到ODBC數據源的有效登錄,通常sa權限最高,它為係統默認的管理員。TEMPLATE模板指定用於輸出結果的相應HTX文件。SQL Statement是要執行的SQL語句。本例中四個SQL語句是從stu數據庫people表中選取NAME、AGE、SEX、PHONE、EMAIL字段,IDC對數據庫中的數據進行增加、修改、刪除和檢索等操作,並將結果通過相應的HTML擴展文件(.htx)輸出。
下面分別是這四個文件的代碼。
add.idc文件:

Datasource:class
Username:sa
Password:
Template:add.htx
SQLStatement:
+ INSERT INTO people(NAME,AGE, SEX, PHONE, email)
+ VALUES( ' %txtname%',convert(int,'%txtage%'),'%gender%',
+ ' %txtphone%','%txtemail%')

 

edit.idc|文件:

Datasource:class
Username:sa
Password:
Template:edit.htx
SQLStatement:
+ UPDATE people
+ SET  NAME = ' %txtname%',AGE=convert(int,'%txtage%'),
+ SEX = ' %gender%',
+ PHONE = ' %txtphone%', email='%txtemail%'
+ WHERE (name = ' %hidname%')
+ AND (age = convert( int , ' %hidage%'))
+ AND (sex = ' %hidgender%')
+ AND (phone = ' %hidphone%')
+ AND (email = ' %hidemail%')

 

delete.idc文件:

Datasource:class
Username:sa
Password:
Template:delete.htx
SQLStatement:
+ DELETE FROM people
+ WHERE (name = ' %hidname%')
+ AND (age = convert( int , ' %hidage%'))
+ AND (sex = ' %hidgender%')
+ AND (phone = ' %hidphone%')
+ AND (email = ' %hidemail%')

 

search.idc文件:

Datasource:class
Username:sa
Password:
Template:search.htx
SQLStatement:
+ SELECT  NAME,AGE, SEX, PHONE, email
+ from stu.DBO.people
+ where name = ' %txtname%'

 

5    編寫HTX文件
   HTX文件應保存在INETPUB/SCRIPTS/子目錄下,可以在此目錄下進一步建立子目錄,本例在INETPUB/SCRIPTS/CLASS/子目錄下保存了四個HTX文件,add.htx、edit.htx|、delete.htx和search.htx。.htx文件是含有以〈%%〉或〈!--%%--〉括起來的特殊標志的HTML文檔,將返回的數據格式化。文件中用Begindetail...enddetail、if...else...endif來控制取自數據庫的數據,並用一定的HTML格式返回結果。並用隱藏表技術來標識相關的網頁。 本示例用Microsoft FrontPage 98編寫。
下面分別是這四個文件的代碼。

 

add.htx文件:

< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Border"  content ="none" >
< title > 添加結果 </ title >
</ head >
< body >
< p >   </ p >
< p > 下面的信息是您剛添加到庫中的: </ p >
< p >   </ p >
< form  method ="POST"  action ="edit.idc" >
< input  type ="hidden"  name ="hidage"  value ="<%idc.txtage%>" >< input  type ="hidden"
name
="hidemail"  value ="<%idc.txtemail%>" >< input  type ="hidden"  name ="hidgender"
value
="<%idc.gender%>" >< input  type ="hidden"  name ="hidname"  value ="<%idc.txtname%>" >< input
type ="hidden"  name ="hidphone"  value ="<%idc.txtphone%>" >< table  border ="1"  cellpadding ="0"
width
="100%" >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 姓名: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtname"  size ="20"  value ="<%idc.txtname%>" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 年齡: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtage"  size ="20"  value ="<%idc.txtage%>" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 性別: </ td >
< td  width ="50%" >< input  type ="text"  name ="gender"  size ="20"  value ="<%idc.gender%>" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 電話: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtphone"  size ="20"  value ="<%idc.txtphone%>" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > Email: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtemail"  size ="20"  value ="<%idc.txtemail%>" ></ td >
</ tr >
< tr >
< td  width ="100%"  colspan ="2" > nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

< input  type ="submit"  value ="修改"  name ="cmdedit" ></ td >
</ tr >
</ table >
</ form >

< form  action ="delete.idc"  method ="POST" >
< input  type ="hidden"  name ="hidage"  value ="<%idc.txtage%>" >< input  type ="hidden"
name
="hidemail"  value ="<%idc.txtemail%>" >< input  type ="hidden"  name ="hidgender"
value
="<%idc.gender%>" >< input  type ="hidden"  name ="hidname"  value ="<%idc.txtname%>" >< input
type ="hidden"  name ="hidphone"  value ="<%idc.txtphone%>" >< table  width ="528" >
< tr >
< td  width ="528" >< div  align ="left" >< p > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

< input  type ="submit"  value ="刪除"  name ="cmddelete" ></ td >
</ tr >
</ table >
</ form >
</ body >
</ html >


edit.htx|文件:

< html >

< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 記錄已修改成功 </ title >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Theme"  content ="none" >
< meta  name ="Microsoft Border"  content ="none" >
</ head >

< body >
< p > 記錄已修改成功! < href ="http://misserver/class.htm" > 返回 </ a ></ p >
</ body >
</ html >


delete.htx文件:

< html >

< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 記錄已刪除成功 </ title >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Theme"  content ="none" >
< meta  name ="Microsoft Border"  content ="none" >
</ head >

< body >
< p > 記錄已刪除成功! < href ="http://misserver/class.htm" > 返回 </ a ></ p >
< p >   </ p >
</ body >
</ html >


search.htx文件:

< html >

< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="Microsoft Border"  content ="tl, default" >
< title > 查詢結果 </ title >
< meta  name ="Microsoft Theme"  content ="none" >
</ head >

< body  bgcolor ="#FFFFFF" >
<% if  idc.txtname eq  "" %>
< h2 > 通訊錄中 </ h2 >
<% else %>
< h2 > 通訊錄中含 < i >   <% idc.txtname %>   </ i > 字樣的查詢結果為 </ h2 >
<% endif %>
< table  border ="1"  cellpaddint ="10" >
<% begindetail %><% if  CurrentRecord eq  0 %>   < caption > 查詢結果: </ caption >
< tr >
< td >< b > 姓名 </ b >   </ td >
< td >< b > 年齡 </ b ></ td >
< td >< b > 性別 </ b ></ td >
< td >< b > 電話 </ b ></ td >
< td >< b > Email </ b ></ td >
</ tr >
<% endif %>   < tr >
< td > <% name %>
</ td >
< td  align ="right" > <% age %>
</ td >
< td > <% sex %>
</ td >
< td > <% phone %>
</ td >
< td > <% email %>
</ td >
</ tr >
<% enddetail %> </ table >
<% if  CurrentRecord eq  0 %> < i >< b >

< p ></ b ></ i >< em >< font  color ="#0000FF" >< strong >< big > 沒有含 <% idc.txtname %> 的記錄,請重新檢索 </ big ></ strong >< b > </ b ></ font >
</ em ></ p >
<% endif %>
< p >< href ="http://misserver/search.htm" > 返回 </ a ></ p >
</ body >
</ html >

 

6  調試
可在服務器和客戶機上分別調試。

服務器:
* 打開資源管理器,雙擊INETPUB/WWWROOT/下的class.htm。
* 出現“同學通訊錄”頁面,如果此時數據庫中沒有記錄,我們可先進行添加,然後再進行檢索。

客戶機:
* 在任何一臺與服務器相連的計算機中,打開瀏覽器,如Internet Explorer。
* 在URL中打入HTTP://202.112.80.222/class.htm(服務器的IP地址為202.112.80.222或輸入服務器名)。
* 出現“同學通訊錄”頁面。

class.htm文件:

< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Theme"  content ="none" >
< meta  name ="Microsoft Border"  content ="none" >
< title > 同學通訊錄 </ title >
</ head >
< body  bgcolor ="#FFFFFF" >
< p >< big > 同學通訊錄: </ big ></ p >
< p >   </ p >
< p >< big >< big > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
< href ="search.htm" > 查詢 </ a ></ big ></ big ></ p >
< p >< big >< big > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
< href ="http://misserver/add.htm" > 添加 </ a ></ big ></ big ></ p >
</ body >
</ html >

 

 

add.htm源文件

< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< meta  name ="GENERATOR"  content ="Microsoft FrontPage 3.0" >
< meta  name ="Microsoft Border"  content ="none" >
< title > 添加記錄 </ title >
</ head >
< body >
< p >   </ p >
< p > 請在下表中填寫相關的信息: </ p >
< form  method ="POST"  action ="scripts/class/add.idc" >
< table  border ="1"  cellpadding ="0"  width ="100%" >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 姓名: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtname"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 年齡: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtage"  size ="2" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 性別: </ td >
< td  width ="50%" >< input  type ="radio"  value ="男"  checked name ="gender" > < input
type ="radio"  name ="gender"  value ="女" > </ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > 電話: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtphone"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p > Email: </ td >
< td  width ="50%" >< input  type ="text"  name ="txtemail"  size ="20" ></ td >
</ tr >
< tr >
< td  width ="50%" >< div  align ="right" >< p >< input  type ="submit"  value ="添加"  name ="cmdadd" ></ td >
< td  width ="50%" >< input  type ="reset"  value ="清除"  name ="cmdclear" ></ td >
</ tr >
</ table >
</ form >
< p >< href ="class.htm" > 返回 </ a ></ p >
</ body >
</ html >

 

search.htm文件

< html >
< head >
< title > 同學通訊錄 </ title >
</ head >
< body  bgcolor ="#FFFFFF" >
< form  method ="POST"  action ="/scripts/class/search.idc" >
< p > 輸入您想查詢的同學姓名: </ p >
< p >< input  type ="text"  name ="txtname"  size ="20" >< input  type ="submit"  value ="開始"
name
="B1" >< input  type ="reset"  value ="清除"  name ="B2" ></ p >
</ form >
< p >< href ="class.htm" > 返回 </ a ></ p >
</ body >
</ html >

 

4 編寫IDC文件
   IDC文件應保存在INETPUB/SCRIPTS/子目錄下,可以在此目錄下進一步建立子目錄,本例在INETPUB/SCRIPTS/CLASS/子目錄下保存了四個IDC文件,add.idc、edit.idc|、delete.idc和search.idc。分別完成前臺網頁與後臺數據庫的記錄增加、記錄修改、記錄刪除和記錄檢索的功能。本例使用記事本設計,但保存時應存為後綴是.idc的文件。

 

   示例.idc文件中數據源的名稱(Datasource)為“CLASS”。用戶名(Username)為sa、密碼(Password)未設,來保證到ODBC數據源的有效登錄,通常sa權限最高,它為係統默認的管理員。TEMPLATE模板指定用於輸出結果的相應HTX文件。SQL Statement是要執行的SQL語句。本例中四個SQL語句是從stu數據庫people表中選取NAME、AGE、SEX、PHONE、EMAIL字段,IDC對數據庫中的數據進行增加、修改、刪除和檢索等操作,並將結果通過相應的HTML擴展文件(.htx)輸出。
下面分別是這四個文件的代碼。
add.idc文件:
Datasource:class
Username:sa
Password:
Template:add.htx
SQLStatement:
+INSERT INTO people(NAME,AGE, SEX, PHONE, email)
+VALUES('%txtname%',convert(int,'%txtage%'),'%gender%',
+'%txtphone%','%txtemail%')

 

edit.idc|文件:
Datasource:class
Username:sa
Password:
Template:edit.htx
SQLStatement:
+UPDATE people
+SET NAME='%txtname%',AGE=convert(int,'%txtage%'),
+SEX='%gender%',
+PHONE='%txtphone%', email='%txtemail%'
+WHERE (name='%hidname%')
+AND(age=convert(int,'%hidage%'))
+AND(sex='%hidgender%')
+AND(phone='%hidphone%')
+AND(email='%hidemail%')

 

delete.idc文件:
Datasource:class
Username:sa
Password:
Template:delete.htx
SQLStatement:
+DELETE FROM people
+WHERE (name='%hidname%')
+AND(age=convert(int,'%hidage%'))
+AND(sex='%hidgender%')
+AND(phone='%hidphone%')
+AND(email='%hidemail%')

 

search.idc文件:
Datasource:class
Username:sa
Password:
Template:search.htx
SQLStatement:
+SELECT NAME,AGE, SEX, PHONE, email
+from stu.DBO.people
+where name='%txtname%'

 

5 編寫HTX文件
   HTX文件應保存在INETPUB/SCRIPTS/子目錄下,可以在此目錄下進一步建立子目錄,本例在INETPUB/SCRIPTS/CLASS/子目錄下保存了四個HTX文件,add.htx、edit.htx|、delete.htx和search.htx。.htx文件是含有以〈%%〉或〈!--%%--〉括起來的特殊標志的HTML文檔,將返回的數據格式化。文件中用Begindetail...enddetail、if...else...endif來控制取自數據庫的數據,並用一定的HTML格式返回結果。並用隱藏表技術來標識相關的網頁。 本示例用Microsoft FrontPage 98編寫。
下面分別是這四個文件的代碼。
add.htx文件:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta name="Microsoft Border" content="none">
<title>添加結果</title>
</head>
<body>
<p> </p>
<p>下面的信息是您剛添加到庫中的:</p>
<p> </p>

 

<form method="POST" action="edit.idc">
<input type="hidden" name="hidage" value="<%idc.txtage%>"><input type="hidden"
name="hidemail" value="<%idc.txtemail%>"><input type="hidden" name="hidgender"
value="<%idc.gender%>"><input type="hidden" name="hidname" value="<%idc.txtname%>"><input
type="hidden" name="hidphone" value="<%idc.txtphone%>"><table border="1" cellpadding="0"
width="100%">
<tr>
<td width="50%"><div align="right"><p>姓名:</td>
<td width="50%"><input type="text" name="txtname" size="20" value="<%idc.txtname%>"></td>
</tr>
<tr>
<td width="50%"><div align="right"><p>年齡:</td>
<td width="50%"><input type="text" name="txtage" size="20" value="<%idc.txtage%>"></td>
</tr>
<tr>
<td width="50%"><div align="right"><p>性別:</td>
<td width="50%"><input type="text" name="gender" size="20" value="<%idc.gender%>"></td>
</tr>
<tr>
<td width="50%"><div align="right"><p>電話:</td>
<td width="50%"><input type="text" name="txtphone" size="20" value="<%idc.txtphone%>"></td>
</tr>
<tr>
<td width="50%"><div align="right"><p>Email:</td>
<td width="50%"><input type="text" name="txtemail" size="20" value="<%idc.txtemail%>"></td>
</tr>
<tr>
<td width="100%" colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="submit" value="修改" name="cmdedit"></td>
</tr>
</table>
</form>

<form action="delete.idc" method="POST">
<input type="hidden" name="hidage" value="<%idc.txtage%>"><input type="hidden"
name="hidemail" value="<%idc.txtemail%>"><input type="hidden" name="hidgender"
value="<%idc.gender%>"><input type="hidden" name="hidname" value="<%idc.txtname%>"><input
type="hidden" name="hidphone" value="<%idc.txtphone%>"><table width="528">
<tr>
<td width="528"><div align="left"><p>

你可能感兴趣的:(connector)