Forum
Veritabanımda 3 satır veri var sil butonumdan seçtiğim satırı siliyorum fakat yeni ekle butonuyla satır eklerken mesela 3. satırı sildim tekrar ekle butonuyla veri girdiğimde 2 den 4 e geçiyor. Bunu Nasıl önleyebilirim ?
2. sorum veri tabanında da verileri silince sql de de aynı şey oluyor mesela tüm verileri query ile silsem bile tertemiz tabloya girdiğim veri en son girilen satır sayısının bir fazlası olarak gözüküyor.Bunun sebebi nedir ?
//Yeni Hesap karti girişi
SqlCommand komut = new SqlCommand("insert into OTOMASYON_carikart (CariAdı,CariKodu,Adresi,Telefon,VergiDairesi,VergiNo) values (@p1,@p2,@p3,@p4,@p5,@p6)", bgl.
baglanti());
komut.Parameters.AddWithValue("@p1", txtcariad.Text);
komut.Parameters.AddWithValue("@p2", txtcarikod.Text);
komut.Parameters.AddWithValue("@p3", txtadres.Text);
komut.Parameters.AddWithValue("@p4", txttelefon.Text);
komut.Parameters.AddWithValue("@p5", txtvergidaire.Text);
komut.Parameters.AddWithValue("@p6", txtvergino.Text);
var ExecuteNonQuery= komut.ExecuteNonQuery();
bgl.baglanti().Close();
MessageBox.Show("Yeni Hesap Sisteme Eklendi!", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
yukle();
//ürün silme id ye göre çalışıyor//
SqlCommand delete = new SqlCommand("Delete From OTOMASYON_carikart where ID=@p1", bgl.baglanti());
delete.Parameters.AddWithValue("@p1", txtid.Text);
var ExecuteNonQuery=delete.ExecuteNonQuery();
MessageBox.Show("Ürün Silindi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Error);
yukle();
void yukle()
{
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("Select * From OTOMASYON_carikart", bgl.baglanti());
da.Fill(dt);
gridControl1.DataSource = dt;
}
yükle fonksiyonunu da ekledim ilgilenirseniz sevinirim .
Merhabalar;
ID alanınızda sıralamadan bahsediyorsunuz sanırım, Bu alanda auto identity ise söylediğiniz gibi silseniz bile sıradaki numarayı değil silinen kayıttaki numarayı atar,
Siz sıradan numara vermek istiyorsanız Sıra kolonunuzu auto identity yapmazsınız ve sıra numarasınıda siz insert ederek kayıt yaparsınız.
Merhabalar;
ID alanınızda sıralamadan bahsediyorsunuz sanırım, Bu alanda auto identity ise söylediğiniz gibi silseniz bile sıradaki numarayı değil silinen kayıttaki numarayı atar,
Siz sıradan numara vermek istiyorsanız Sıra kolonunuzu auto identity yapmazsınız ve sıra numarasınıda siz insert ederek kayıt yaparsınız.
Çok teşekkürler
2 sorunuzun cevabı olur da auto identity iptal etmem diyorsanız ve sıfırdan başlamam gerek (en mantıklısı olan bu) SQL Query bu kodu çalıştırmanız yazdığınız tabloyu identity 1 den başlatıyor.
DBCC CHECKIDENT('tablo',Reseed, 0)