ASP.NET Tutorial/ADO.net Database/OleDbDataAdapter
Содержание
Filling Multiple DataTables
<source lang="csharp">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="FillingMultipleDataTables" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">
<title>Filling Multiple DataTables</title>
</head> <body>
<form id="form1" runat="server">
Filling Multiple DataTables
This example illustrates the filling of multiple DataTable
s
Books
<asp:GridView ID="grdBooks" runat="server" />
Authors
<asp:GridView ID="grdAuthors" runat="server" /> <asp:Label ID="labMsg" runat="server" />
</form>
</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.OleDb; public partial class FillingMultipleDataTables : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="; connString += Server.MapPath("~/App_Data/Book.mdb") + ";"; DataSet ds = new DataSet(); try { OleDbConnection conn = new OleDbConnection(connString); conn.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter(); string sqlBooks = " SELECT * FROM Books"; OleDbCommand cmdBooks = new OleDbCommand(sqlBooks, conn); adapter.SelectCommand = cmdBooks; adapter.Fill(ds, "BooksTable"); string sqlAuthors = " SELECT * FROM Authors"; OleDbCommand cmdAuthors = new OleDbCommand(sqlAuthors, conn); adapter.SelectCommand = cmdAuthors; adapter.Fill(ds, "AuthorsTable"); grdAuthors.DataSource = ds.Tables["AuthorsTable"].DefaultView; grdAuthors.DataBind(); grdBooks.DataSource = ds.Tables["BooksTable"].DefaultView; grdBooks.DataBind(); conn.Close(); } catch (Exception ex) { } }
}</source>
Fill the DataSet by using the OleDbDataAdapter and connection to Access Database (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDB" %> <script runat="server">
sub Page_Load(Sender as Object, e as EventArgs) dim myConnection as new OleDbConnection( _ "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _ & "DATA SOURCE=" _ & Server.MapPath("EmployeeDatabase.mdb;")) dim myCommand as OleDbDataAdapter = new OleDbDataAdapter _ ("select * from employee", myConnection) dim ds as DataSet = new DataSet() myCommand.Fill(ds, "employee") end sub
</script> <html><body>
<form runat="server"> </form>
</body></html></source>
Use DataTable to read the result set from an OleDbDataAdapter and a DataSet (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server">
sub Page_Load(Sender as object, e as eventargs) dim objConn as new OleDbConnection( _ "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _ & "DATA SOURCE=" _ & Server.MapPath("EmployeeDatabase.mdb;")) dim objCmd as new OleDbDataAdapter("select * from employee", objConn) dim ds as DataSet = new DataSet() objCmd.Fill(ds, "employee") dim dTable as DataTable = ds.Tables("employee") Dim CurrRows() as DataRow = dTable.Select(Nothing,Nothing, DataViewRowState.CurrentRows) Dim I, J as integer Dim strOutput as string For I = 0 to CurrRows.Length - 1 For J = 0 to dTable.Columns.Count - 1 strOutput = strOutput & dTable.Columns(J). _ ColumnName & " = " & CurrRows(I)(J).ToString & _ "
" next next Response.write(strOutput) end sub
</script> <html><body> </body></html></source>