C# SQL hatası

plaxs0

Hectopat
Katılım
10 Şubat 2019
Mesajlar
55
Kendi kendime örnek projeler yaparken bir sorun yaşadım. Sorunda hata da vermiyor fakat istediğim veriyi tabloya aktarmıyor. Her şeyi denememe rağmen çözemedim yardımcı olursanız sevinirim.

C#:
SqlCommand komut3 = new SqlCommand("Select DoktorAd,DoktorSoyad From Tbl_Doktorlar where DoktorBrans = @p1", bgl.baglanti());
 komut3.Parameters.AddWithValue("@p1", CmbBrans.Text);
 SqlDataReader dr3 = komut3.ExecuteReader();
 while (dr3.Read())
 {
 CmbDoktor.Items.Add(dr3[0] + " " + dr3[1]);
 }
 bgl.baglanti() .Close();

SQL'de query olarak çalıştırınca çalışıyor fakat Visual Studio'da çalışmıyor.

Kodu yazmadaki amacım şu branşların yazdığı Combobox'dan seçilen branşın doktorları aşağısındaki Combobox'ta verilsin.
 
Kodun tamamını atar mısınız?
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Proje_Hastane
{
    public partial class FrmHastaDetay : Form
    {
        public FrmHastaDetay()
        {
            InitializeComponent();
        }

        public string tc;

        sqlbaglantisi bgl = new sqlbaglantisi();

        private void FrmHastaDetay_Load(object sender, EventArgs e)
        {
            LblTC.Text = tc;

            //Ad Soyad Çekme
            SqlCommand komut = new SqlCommand("Select Hastaad,HastaSoyad from Tbl_Hastalar where Hastatc = @a1", bgl.baglanti());
            komut.Parameters.AddWithValue("@a1", LblTC.Text);
            SqlDataReader dr = komut.ExecuteReader();
            while (dr.Read())
            {
                LblAdSoyad.Text = dr[0] + " " + dr[1];
            }
            bgl.baglanti().Close();

            //Randevu Geçmişi
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("Select * From Tbl_Randevular where HastaTC = " + tc, bgl.baglanti());
            da.Fill(dt);
            dataGridView1.DataSource = dt;

            //Branşları Çekme
            SqlCommand komut2 = new SqlCommand("Select BransAd from Tbl_Branslar", bgl.baglanti());
            SqlDataReader dr2 = komut2.ExecuteReader();
            while (dr2.Read())
            {
                CmbBrans.Items.Add(dr2[0]);
            }
            bgl.baglanti().Close();
        }

        private void CmbDoktor_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("Select * From Tbl_Randevular where RandevuBrans ='" + CmbBrans.Text + "'", bgl.baglanti());
            da.Fill(dt);
            dataGridView1 .DataSource = dt;


        }

        private void CmbBrans_SelectedIndexChanged(object sender, EventArgs e)
        {
            SqlCommand komut3 = new SqlCommand("Select DoktorAd,DoktorSoyad From Tbl_Doktorlar where DoktorBrans = @p1", bgl.baglanti());
            komut3.Parameters.AddWithValue("@p1", CmbBrans.Text);
            SqlDataReader dr3 = komut3.ExecuteReader();
            while (dr3.Read())
            {
                CmbDoktor.Items.Add(dr3[0] + " " + dr3[1]);
            }
            bgl.baglanti() .Close();

        }

        private void CmbDoktor_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            
        }
    }
}
 
Veri tabanı bağlantısı için gerekli kod yok?

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace Proje_Hastane.
{
 internal class sqlbaglantisi.
 {
 public SqlConnection baglanti()
 {
 SqlConnection baglan = new SqlConnection("Data Source=DESKTOP-SLPRUK2;Initial Catalog=HastaneProje;Integrated Security=True");
 baglan.Open();
 return baglan;
 }
 }
}

Onun için sınıf oluşturdum sqlbaglantisi diye oradan çekiyorum.
 

Yeni konular

Geri
Yukarı