ASP.NET 3.5 / Data med ADO.NET / Datareader objektet
|
Søger du et "rigtigt" ASP.NET 3.5 kursus?
Ja, jeg holder ikke kun fjernundervisningskurser
- jeg kan også komme ud i din virksomhed og undervise med
udgangspunkt i jeres data og udfordringer.
|
|
DataReader objektet
Som beskrevet tidligere er DataReader objektet en simpel forward-only og read-only cursor. Den kræver direkte forbindelse til databasen og giver en rigtig effektiv metode til at gennemløbe et datasæt.
Når DataReader objektet bruges er det vigtigt at sørge for at lukke forbindelsen til databasen efter brug - den bliver ikke lukket automatisk.
Et lille eksempel, der forudsætter en aspx side med et enkelt gridview objekt:
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlDataReader minReader;
SqlConnection minForbindelse = new SqlConnection();
minForbindelse.ConnectionString =
ConfigurationManager.ConnectionStrings["ASPNET35KursusConnectionString"].ToString();
SqlCommand minKommando = new SqlCommand();
minKommando.CommandText = "Select * from tblProjekter";
minKommando.CommandType = CommandType.Text;
minKommando.Connection = minForbindelse;
minKommando.Connection.Open();
minReader = minKommando.ExecuteReader(CommandBehavior.CloseConnection);
gvProjekter.DataSource = minReader;
gvProjekter.DataBind();
minKommando.Dispose();
minForbindelse.Dispose();
}
}
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim minReader As SqlDataReader
Dim minForbindelse As SqlConnection = New SqlConnection()
minForbindelse.ConnectionString =
ConfigurationManager.ConnectionStrings("ASPNET35KursusConnectionString").ToString()
Dim minKommando As SqlCommand = New SqlCommand()
minKommando.CommandText = "Select * from tblProjekter"
minKommando.CommandType = CommandType.Text
minKommando.Connection = minForbindelse
minKommando.Connection.Open()
minReader = minKommando.ExecuteReader(CommandBehavior.CloseConnection)
gvProjekter.DataSource = minReader
gvProjekter.DataBind()
minKommando.Dispose()
minForbindelse.Dispose()
End If
End SubLæg mærke til at der er et par imports/using der er nødvendige og at ren copy-paste ikke er mulig.
I eksempelet her er der ikke brugt eksplicit lukning af forbindelsen, men CommandBehavior.CloseConnection - den kan kun bruges i tilfælde, hvor vi "bare" læser fra ende til anden.
Når du har betalt for kurset får du adgang til øvelser til hver lektion.
Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.<<- Command objektet
Data adapter ->>