Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
5173
Tıklama
0
Öne Çıkarma
C# Veritabanında aynı kayıt varsa uyarı versin / Yardım
H
9 yıl
Onbaşı
Konu Sahibi

Otel otomasyon ödevi yapıyorum. 20 tane oda var projemde oda isimleri A101 A102 A103 diye gidiyor.
Eğer A101 adlı oda kaydı varsa kaydet dediğimde kaydetmeyip uyarı vermesini istiyorum nasıl yapabilirim onu projemde kullandıgım kod şöyle;

System.Data.OleDb.OleDbCommandBuilder cb;
cb = new System.Data.OleDb.OleDbCommandBuilder(adaptor);
DataRow dRow = ds.Tables["bilgi"].NewRow();

dRow[2] = textBox1.Text;
dRow[3] = textBox2.Text;
dRow[4] = textBox3.Text;
dRow[5] = textBox4.Text;
dRow[6] = textBox5.Text;
dRow[8] = comboBox2.Text;
dRow[1] = comboBox1.Text;
dRow[7] = comboBox3.Text;
dRow[9] = label10.Text;



ds.Tables["bilgi"].Rows.Add(dRow);
toplamkayit = toplamkayit + 1;
goster = toplamkayit - 1;
adaptor.Update(ds, "bilgi");
MessageBox.Show("Kayıt Eklendi");
Oda numaraları burada dRow[1] = comboBox1.Text;





< Bu mesaj bu kişi tarafından değiştirildi HBTR -- 20 Mart 2016; 13:24:27 >

G
9 yıl
Binbaşı

Onun yerine odaların tutulduğu tabloda o odayı tutan kişiyi/kişileri de tutarsan sıkıntı çözülür. Odaya birini yerleştirmeden önce de orada kalan var mı buna bakarsın en basitinden. Tabi pratikte çözmen gereken bazı sorunlar doğurabilir ya da tam olarak tablolarını felan bilmediğimden dolayı uymayabilir.


Tablo Oda
[ID][ISIM][TUTAN_ID]

TABLO Musteri
[ID][ISIM][TC][Kaldigi_oda_ID]


Bu mesaja 1 cevap geldi.
H
9 yıl
Onbaşı
Konu Sahibi

string drm ;
private void btnKaydet_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "" || comboBox1.Text == "" || comboBox2.Text == "")
{
MessageBox.Show("Lütfen Boş alan bırakmayınız");
}
else
{
baglanti.Open();
komut = new OleDbCommand("select * from bilgi", baglanti);
OleDbDataReader bilgigetir = komut.ExecuteReader();
drm = "yok";
while (bilgigetir.Read())
{
if (bilgigetir.GetString(1) == comboBox1.SelectedItem.ToString())
{
MessageBox.Show("Bu kayıt zaten var!");
drm = "var";
break;
}


}
if (drm == "yok")
{
System.Data.OleDb.OleDbCommandBuilder cb;
cb = new System.Data.OleDb.OleDbCommandBuilder(adaptor);
DataRow dRow = ds.Tables["bilgi"].NewRow();

dRow[2] = textBox1.Text;
dRow[3] = textBox2.Text;
dRow[4] = textBox3.Text;
dRow[5] = textBox4.Text;
dRow[6] = textBox5.Text;
dRow[8] = comboBox2.Text;
dRow[1] = comboBox1.Text;
dRow[7] = label12.Text;
dRow[9] = label10.Text;

ds.Tables["bilgi"].Rows.Add(dRow);
toplamkayit = toplamkayit + 1;
goster = toplamkayit - 1;
adaptor.Update(ds, "bilgi");
MessageBox.Show("Kayıt Eklendi");

}
baglanti.Close();
}
}


şöyle bişey yaptım çalıştırdım teşekkür ederim.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.