Click here to Skip to main content
15,887,214 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello friends,
I have got this code below which should select item from SQL DB column ubytov. But it doesn't select any value. Why?

C#
try
           {
               SqlCommand novyprikaz = new SqlCommand("SELECT * FROM klient WHERE akce=" + vyberradek, spojeni);
               spojeni.Open();
               SqlDataReader precti = novyprikaz.ExecuteReader();

               if (precti.Read())
               { comboBox2.SelectedItem = precti.GetString(precti.GetOrdinal("ubytov"));
               }

           }
           catch (Exception ex)
           {
               MessageBox.Show("Chybové hlášení2: " + ex.Message.ToString());
           }

           spojeni.Close();
       }

And this is how I fill it on form_load
C#
private void klient_Load(object sender, EventArgs e)
       {
           spojeni.Open();
           var cb1 = new SqlCommand("SELECT odjezd FROM stanice WHERE akce="
                            + vyberradek+ " ORDER BY odjezd ASC", spojeni);
           var cb2 = new SqlCommand("SELECT text FROM ubytov WHERE akce="
                           + vyberradek + " ORDER BY text ASC", spojeni);
           try
           {
               SqlDataReader dr = cb1.ExecuteReader();
               while (dr.Read())
               {
                   comboBox1.Items.Add(dr["odjezd"]);

               }
               dr.Close();
               dr.Dispose();
               SqlDataReader dr2 = cb2.ExecuteReader();
               while (dr2.Read())
               {
                   comboBox2.Items.Add(dr2["text"]);

               }
               dr2.Close();
               dr2.Dispose();

               spojeni.Close();
           }


Anyone know what should I do with it ?
Posted

1 solution

Advised to use parameterized query always. Showing example how to fill combo box(I assume klient is table name).
C#
SqlCommand novyprikaz = new SqlCommand("SELECT * FROM klient WHERE akce=@xyz", spojeni);
spojeni.Open();
cmd.Parameters.AddWithValue("xyz",your actual value);//like textbox text
SqlDataAdapter da = new SqlDataAdapter(novyprikaz);
DataSet ds = new DataSet();
da.Fill(ds);
comboBox2.DataSource=ds;
comboBox2.DataBind();

Regards.. :laugh:
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900