zoukankan      html  css  js  c++  java
  • 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>

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    JSON 字符串 与 java 对象的转换
    DNS解析过程详解
    全面了解移动端DNS域名劫持等杂症:原理、根源、HttpDNS解决方案等
    TCP Send函数的阻塞和非阻塞,以及TCP发送数据的异常情况
    基于TCP协议的应用层的ACK机制
    Golang的反射reflect深入理解和示例
    C/C++中struct中内存对齐规则
    Go 包依赖管理工具 —— govendor
    什么是幂等?什么情况下需要考虑幂等?怎么解决幂等的问题?
    Golang 中间件简介 MiddleWare
  • 原文地址:https://www.cnblogs.com/Athrun/p/933285.html
Copyright © 2011-2022 走看看