System.Data.OleDb Namespace
Provides a way of reading a forward-only stream of data rows from a data source.
To create an OleDbDataReader, you must call the ExecuteReader method of the OleDbCommand object, rather than directly using a constructor.
While the OleDbDataReader is in use, the associated OleDbConnection is busy serving the OleDbDataReader, and no other operations can be performed on the OleDbConnection other than closing it. This is the case until the Close method of the OleDbDataReader is called.
IsClosed and RecordsAffected are the only properties that you can call after the OleDbDataReader is closed. Though the RecordsAffected property may be accessed at any time while the OleDbDataReader exists, always call Close before returning the value of RecordsAffected to ensure an accurate return value.
The following example shows one way to implement an OleDbDataReader in a Web Forms page. Here, the entire logic is encapsulated in a Page_Load event handler that essentially:
- establishes a connection to the database,
- initializes an instance of a DataReader to contain the database information,
- and then enumerates the contents of the Datareader into an HTML table.
protected void Page_Load ( Object Src, EventArgs e ) {
// specify the data source
OleDbConnection myConn = new OleDbConnection (
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" +
Server.MapPath ( "~/app_data/dbtutor.mdb" ) );
// define the command query
String query = "SELECT ProductName, ProductDescription FROM Products";
OleDbCommand myCommand = new OleDbCommand ( query, myConn );
// open the connection and instantiate a datareader
myConn.Open ( );
OleDbDataReader myReader = myCommand.ExecuteReader ( );
// display datareader contents into html table
// first open the table and set up the table headers
html += "<table cellspacing=1 class='data' width=90%>";
html += "<tr>";
html += "<th>Product Name</th>";
html += "<th>Description</th>";
html += "</tr>";
// loop thru the reader
while ( myReader.Read ( ) ) {
html += "<tr>";
html += "<td>" + myReader.GetString ( 0 ) + "</td>";
html += "<td>" + myReader.GetString ( 1 ) + "</td>";
html += "</tr>";
}
// close the table
html += "</table>";
// close the reader and the connection
myReader.Close ( );
myConn.Close ( );
}
</script>
protected sub Page_Load ( byVal Src as Object, byVal E as EventArgs )
' specify the data source
dim myConn as new OleDbConnection ( & _
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & _
Server.MapPath ( "~/app_data/dbtutor.mdb" ) )
' define the command query
dim query as String = "SELECT ProductName, ProductDescription FROM Products"
dim myCommand as new OleDbCommand ( query, myConn )
' open the connection and instantiate a datareader
myConn.Open ( )
dim myReader as OleDbDataReader = myCommand.ExecuteReader ( )
' display datareader contents into html table
' first open the table and set up the table headers
html &= "<table cellspacing=1 class='data' width=90%>"
html &= "<tr>"
html &= "<th>Product Name</th>"
html &= "<th>Description</th>"
html &= "</tr>"
' loop thru the reader
while myReader.Read ( )
html &= "<tr>"
html &= "<td>" + myReader.GetString ( 0 ) + "</td>"
html &= "<td>" + myReader.GetString ( 1 ) + "</td>"
html &= "</tr>"
end while
' close the table
html &= "</table>"
' close the reader and the connection
myReader.Close ( )
myConn.Close ( )
end sub
</script> |
|
C# |
VB |
Show me