Forum

MsSql de Açıla...
 
Bildirimler
Hepsini Temizle

[Çözüldü] MsSql de Açılan Id ye göre önceki veya sonraki Id yi bulmak

5 Yazılar
2 Üyeler
0 Reactions
1,055 Görüntüleme
Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Merhaba;

C# winform uygulamasında , form üzerine mevcut verileri çekiyorum. Form üzerinde önceki kayıt ve sonraki kayıt butonu koydum. MSSQL veri tabanı kullanıyorum. Amacım açılan kaydın ID sine göre bir önceki veya bir sonraki ID'yi bulmak. Bunu nasıl bir sorguyla yapabilirim.  Yardımlarınız için şimdiden teşekkürler.

 
Gönderildi : 15/10/2015 23:08

(@ilhancakmak)
Gönderiler: 71
Trusted Member
 

veriyi neyle çekiyorsunuz?

 
Gönderildi : 16/10/2015 00:19

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

DataRow kullanıyorum

 
Gönderildi : 16/10/2015 01:07

(@ilhancakmak)
Gönderiler: 71
Trusted Member
 

Bundan sonraki çalışmalarınızda Entity Framework yapısını tavsiye ederim.

Ancak şu anki sorunu çözmek için şöyle bir yol izleyin.

Veriyi DataTable'ye doldurun.

Örnek:

DataTable dt;//datatable dolu varsayın

int index=0;

private void IleriButonu_Click(object sender, EventArgs e)

{

if(i==dt.Rows.Count-1){ MessageBox.Show("Son Kayıt"); return;}

index++;

var item=dt.Rows[index].ItemArray;

TextleriDoldur(item)

}

private void GeriButonu_Click(object sender, EventArgs e)

{

if(i==0){ MessageBox.Show("İlk Kayıt"); return;}

index--;

var item=dt.Rows[index].ItemArray;

TextleriDoldur(item);

 

}

private void TextleriDoldur(object[] item)

{

txtAdSoyad.Text=item[0];

txtGorevi.Text=item[1];

txtBilmemnesi.Text=[2];

}

 

dt.Rows.Count-1 diyorum çünkü 10 row varsa index 0'dan 9'a kadardır.

 

DipNot: ileri butonuna her bastığımda veritabanına dönüp 1 satır kayıt alıp geri gelmek performansı olumsuz etkiler. bunun için veriyi datatable içinde cache'leyin. ekran açıldığı zaman tüm veriyi istemci bilgisayar üzerine alsın, belleğindeki veriler içinde ileri geri giderek performansı artırın. yaptığınız programı 100 bilgisayarın aynı anda aynı ağda kullandığını düşünün, her tuşa basıldığında 20-30 pc'nin birden sql'e sorgu atması doğru bir yaklaşım değil.

 
Gönderildi : 16/10/2015 02:13

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Hocam çok teşekkürler

 
Gönderildi : 17/10/2015 03:01

Paylaş: