İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C# hastane programım insert'de hata veriyor

İTÜsteyenYTÜlü09.11.20134 cevap2.662 görüntüleme
2013'den beri2 mesaj
#1
Arkadaşlar bir hastane randevu sistemi için C# masaüstü programı yazıyorum. Randevu ekleme sırasında "insert into deyiminde söz dizimi hatası" diyor ama ben bir hata bulamıyorum bu deyimde. Yardım ederseniz sevinirim.

foreach (Control item in panel1.Controls)
{
RadioButton rb = (RadioButton)(item);
if (rb.Checked == true)
{

con.Open();
OleDbCommand cmd3 = new OleDbCommand("INSERT INTO Randevular (DoktorID, HastaTCNo,RandevuGunu,RandevuSaati,BransID) values (" + cmbDoktorEkle.SelectedValue + ",'" + txtTCNoEkle.Text + "','" + dtpRandevuGunuEkle.Value + "','" + rb.Text + "'," + cmbBransEkle.SelectedValue + "", con);
cmd3.ExecuteNonQuery();
con.Close();
OleDbCommand cmd4 = new OleDbCommand("SELECT Randevular.RandevuID, HastaGenelBilgileri.TCNo, HastaGenelBilgileri.Adi+' '+ HastaGenelBilgileri.Soyadi as HastaAdiSoyadi, HastaGenelBilgileri.DogumTarihi, Cinsiyet.Cinsiyet, Doktorlar.DoktorAdi+' '+ Doktorlar.DoktorSoyadi as DoktorAdiSoyadi, Branslar.BransAdi, Randevular.RandevuGunu, Randevular.RandevuSaati, Doktorlar.DoktorID FROM (Cinsiyet INNER JOIN HastaGenelBilgileri ON Cinsiyet.CinsiyetID = HastaGenelBilgileri.Cinsiyet) INNER JOIN ((Branslar INNER JOIN Doktorlar ON Branslar.BransID = Doktorlar.Bransi) INNER JOIN Randevular ON (Doktorlar.DoktorID = Randevular.DoktorID) AND (Branslar.BransID = Randevular.BransID)) ON HastaGenelBilgileri.TCNo = Randevular.HastaTCNo", con);
OleDbDataAdapter da4 = new OleDbDataAdapter(cmd4);
ds.Tables["Randevular"].Clear();
da4.Fill(ds, "Randevular");
}

İnsert kodunda yazdığım cmbBransEkle ya da rb.Text türlerinde bir hata yok. Onları Messagebox shov ile gösterdiğim zaman gayet doğru çalışıyorlar. Söz dizimi hatası neden veriyor?
Cevaplar
2012'den beri173 mesaj
#2
2 eleştiri yapayım.

1. si, control radiobutton değilse program çatlar tip kontrolü yapmalısın.

2. si, sorgu yazarken bu şekilde kullanman yönetim açısından çok problemli olur ve çok amatörce. Aldığın hatayıda gidermek için Command' ın parameters özelliğini kullan. AddWithValue metodunu incele.
İTÜsteyenYTÜlü Konuyu açan
2013'den beri2 mesaj
#3
Çok teşekkür ederim Controllerimi düzeltince oldu, bir de parantez eksikmiş.
Dediğiniz gibi acemi olduğum için hangisi en verimli yöntem diye düşünemiyorum, bi kere hata vermeden çalışsa :)
2012'den beri173 mesaj
#4
Zamanla daha iyi olacaktır.

Başarılar dilerim.
2014'den beri51 mesaj
#5
youtube c# lesson's izlemelisin

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.