我们可以将经常用到的程序另外储存于扩展名为.inc 的档案中,要使用的时候再利用将之含入(include)即可。
含入檔的建立
例如我们有一个从Access 的mdb 檔中取回指定DataTable,并将DataTable 对象传回的Function 程序;要将这个Function 程序制作成含入文件,只要将Function 程序写入<Script> 标注中,并存于GetTable.inc 檔中即可;如下程序代码所示:
<Script Language="VB" Runat="Server">
Function GetTable(ByVal strMDB As String,ByVal strTable As String)
Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:InetPubwwwrootCR" & strMDB
Dim strComStr As String = "Select * From " & strTable
Dim dscA As ADODataSetCommand = New
ADODataSetCommand(strComStr,strConStr)
Dim dsDataSet As DataSet = New DataSet()
dscA.FillDataSet(dsDataSet, strTable)
Return dsDataSet.Tables(strTable)
End Function
</SCRIPT>
这个Function 程序在使用的时候只要传入Access 数据库档案的地址,以及所要取得的Table名称即可。
含入档的参考
而要使用含入档时,只要加入<!--#Include File="文件名称.inc"--> 即可。指定File 属性可以直接指定相同阶层的目录或是子目录的含入文件,但是不可以指定上一层目录或是其它目录的含入文件。如果含入档不是存放于同一个目录或是同一个目录下的子目录,则可以指定Virtual 属性。Virtual 属性是以WWW 服务的根目录起算(一般是"c:InetPubwwwroot"),例如我们的含入档放于WWW 服务的根目录里,我们只要指定<!--#Include Virtual="文件名称.inc"--> 即可。下列范例取回MyWeb.mdb 数据库中的Members 数据表,并利用DataGrid Web 控件显示:
<%@Import Namespace=System.Data.ADO%>
<%@Import Namespace=System.Data%>
<!--#Include File="GetTable.inc"-->
<Html>
<ASP:DataGrid Id="dgDataGrid" Runat="Server"/>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object, e As EventArgs)
Dim dtDataTable As DataTable= GetTable("CH05MyWeb.mdb", "Members")
dgDataGrid.DataSource=dtDataTable.DefaultView '将DataView 当成数
据源
Page.DataBind()
End Sub
</SCRIPT>
</Html>
后面我们会详细介绍DataGrid Web 控件的使用。