şöle bir şey yapmak istiyorum comboxdan numara seçildiyse numaraya göre arama ad soyad seçildiyse ona göre arama yapıp datagridview yazdırsın ama çalışmıyor

private void button6_Click(object sender, EventArgs e)
{
bag.Open();
if (comboBox1.SelectedIndex.ToString() == "Numara")
{

if (textBox1.Text == (""))
{
listele();
}

else
{
int srg = int.Parse(textBox1.Text);
string sorgu = "Select * from ogr1 where ogrNo Like '" + srg + "'";

SqlDataAdapter adap = new SqlDataAdapter(sorgu, bag);

DataSet ds = new DataSet();

adap.Fill(ds, "ogr1");

this.dataGridView1.DataSource = ds.Tables[0];
}
}
if (comboBox1.SelectedIndex.ToString() == "Ad Soyad") {

if (textBox1.Text == (""))
{
listele();
}

else
{
int srg = int.Parse(textBox1.Text);
string sorgu = "Select * from ogr1 where adSoyad Like '" + srg + "'";

SqlDataAdapter adap = new SqlDataAdapter(sorgu, bag);

DataSet ds = new DataSet();

adap.Fill(ds, "ogr1");

this.dataGridView1.DataSource = ds.Tables[0];
}

}
bag.Close();
}

 

şu satırdan sonra:
this.dataGridView1.DataSource = ds.Tables[0];

şunu ekle:
this.dataGridView1.DataBind();

pisekar v2

if (comboBox1.SelectedIndex.ToString() == "Numara")

selectedIndex 0,1,2 diye alıyor stringle karşılaştırılamaz.

if (comboBox1.SelectedItem.ToString() == "Numara")

melancholia

pisekar

databindings var c# da Bind yok

melancholia

combobox da iki seçenek var Numara ve Ad Soyad o kısım Numara seçildiğini kontrol ediliyor sayısal kısım textbox1 e giriliyor

allstar

if (comboBox1.SelectedIndex.ToString() == "Numara")

burası hatalı. index nuramasıyla string karşılaştırma yapıyorsun.

bi de bu kadar koda göre yok. datagridview'in data source'nu yukarda yazdığın sorgu şeklinde set edip parametresini textbox'a atarsan olay çözülür. yapamazsan akşam mesaj at akşam eve gidince yardımcı olmaya çalışayım.

badiparmagi
1

mobil görünümden çık