利用dataset 寫成xml檔,再以readxml讀為dataset,尤其是連接遠端資料庫時能更有效率
<%@ Page Language="VB" debug=true%>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626″ %>
<%@ import Namespace="System.Data" %>
<script runat="server">
Function MyQueryMethod() As System.Data.DataSet
Dim connectionString As String = “Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=xxxx.mdb"
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
Dim queryString As String = “SELECT * from main"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
Dim xmlFilename As String = “Temp.xml" ‘ (需為可寫入的目錄)
Dim streamWrite As New System.IO.FileStream (xmlFilename, System.IO.FileMode.Create )
dataset.WriteXml(streamWrite , XmlWriteMode.WriteSchema)
streamWrite.Close
Return dataSet
End Function
Function GetXml() As System.Data.DataSet
Dim xmlFilename As String = “Temp.xml"
Dim streamRead As New System.IO.FileStream(xmlFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)
Dim dataSet As New System.Data.DataSet
dataset.ReadXml(streamRead)
Return dataSet
End Function
Sub DataGrid1_PageIndexChanged(sender As Object, e As DataGridPageChangedEventArgs)
datagrid1.CurrentPageIndex = e.NewPageIndex
datagrid1.dataSource=GetXml
datagrid1.DataBind()
End Sub
Sub Button1_Click(sender As Object, e As EventArgs)
Dim dsM as System.Data.DataSet=MyQueryMethod
datagrid1.dataSource=GetXml
datagrid1.dataBind()
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
if not page.IsPostBack then
end if
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:DataGrid id="DataGrid1″ runat="server" PageSize="20″ AllowPaging="True" OnPageIndexChanged="DataGrid1_PageIndexChanged">
<PagerStyle mode="NumericPages"></PagerStyle>
</asp:DataGrid>
<asp:Button id="Button1″ onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
<!– Insert content here –>
</form>
</body>
</html>