DataReader sınıfı ile bellekteki sadece bir veri satırına erişebiliriz. Bu durum haliyle performansı ve hızı artıran bir durumdur. Bu erişimi elde etmek için sürekli açık bir sunucu bağlantısı ve verileri getirecek SqlCommand nesnesi gereklidir. SqlDataReader nesnesi sürekli açık bir sunucu bağlantısı istediği için network trafiğini meşgul eder ve SqlConnection nesnesinin başka işlemlerde kullanılmasını engeller. Bu nedenle sadece okuma amaçlı veya listeleme amaçlı ve yalnız okunabilir veri kümeleri için önerilir.
Şekil 1
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection baglan = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\uyeliste.mdf;Integrated Security=True;User Instance=True");
SqlCommand komut = new SqlCommand("Select * From liste",baglan);
SqlDataReader dr;
baglan.Open();
//Tek satırlık işlem yapacağız.
//Bunun için SingleRow seçiyoruz.
dr = komut.ExecuteReader(CommandBehavior.SingleRow);
dr.Read();
//Döngümüzü tablomuzdaki alan sayısı kadar döndürüyoruz.
for (int i = 0; i <>
{
//Satırdaki sütun adı ve satırdaki değerini listbox a ekliyoruz.
listBox1.Items.Add(dr.GetName(i).ToString() + " - " + dr[i].ToString());
}
dr.Close();
baglan.Close();
}
}
}
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN
0 comments:
Yorum Gönder