2014-08-11 3 views
-3

Я создал таблицу, в которой хранятся все хобби ... теперь я хочу хранить значения нескольких выборок с помощью флажков в другой таблице. Как я могу это сделать?Хранить несколько значений флажка в базе данных

private void PopulateHobbies() 
{ 
    using (SqlConnection conn = new SqlConnection()) 
    { 
     conn.ConnectionString = ConfigurationManager 
       .ConnectionStrings["myConnectionString"].ConnectionString; 
     using (SqlCommand cmd = new SqlCommand()) 
     { 
      cmd.CommandText = "select * from hobbie"; 
      cmd.Connection = conn; 
      conn.Open(); 
      using (SqlDataReader sdr = cmd.ExecuteReader()) 
      { 
       while (sdr.Read()) 
       { 
        ListItem item = new ListItem(); 
        item.Text = sdr["Hobby"].ToString(); 
        item.Value = sdr["HobbyId"].ToString(); 

        chkHobbies.Items.Add(item); 
       } 
      } 
      conn.Close(); 
     } 
    } 
} 
protected void InsertHobbies(object sender, EventArgs e) 
{ 
    using (SqlConnection conn = new SqlConnection()) 
    { 
     conn.ConnectionString = ConfigurationManager 
       .ConnectionStrings["myConnectionString"].ConnectionString; 
     using (SqlCommand cmd = new SqlCommand()) 
     { 
      cmd.CommandText = "insert into pd (product) values(@product)"; 


      cmd.Connection = conn; 
      conn.Open(); 
      foreach (ListItem item in chkHobbies.Items) 
      { 
       cmd.Parameters.Clear(); 
       cmd.Parameters.AddWithValue("@product", chkHobbies.SelectedItem); 

       cmd.ExecuteNonQuery(); 
      } 
      conn.Close(); 
     } 
    } 
} 
+0

U r пытается сохранить «проверенные» hobies для другого объекта? Я прав? –

+0

список Make 'сериализации' http://mytipsfordotnet.blogspot.co.uk/2011/04/how-to-serialize-and-deserialize.html – Darren

+0

hobbyid хобби \t Плавание \t Танцы Singing это значения таблицы хобби, и я возвращаю все данные на своем веб-форме, и теперь, когда пользователь выбирает несколько вариантов, тогда эти значения должны храниться в другой таблице ... может кто-нибудь мне помочь или написать код, как хранить несколько значения checkboxlist в столбец таблицы..что это ..и хотите узнать .. спасибо за вашу помощь :) – amit

ответ

0

Выполнение этого

foreach (ListItem item in chkHobbies.Items) 
{ 
    cmd.Parameters.Clear(); 
    cmd.Parameters.AddWithValue("@product", chkHobbies.SelectedItem); 
    cmd.ExecuteNonQuery(); 
} 

вы

  1. Перечислить все элементы
  2. набор SelectedItem типа ListItem в качестве параметра значение

Должно быть

foreach (ListItem item in chkHobbies.Items) 
{ 
    if (item.Selected) 
    { 
     cmd.Parameters.Clear(); 
     cmd.Parameters.AddWithValue("@product", item.Value); 
     cmd.ExecuteNonQuery(); 
    } 
} 

, где вы будете перечислять только выбранные элементы if (item.Selected) и использовать item.Value в качестве значения.

P.S. Также убедитесь, что вы используете правильную таблицу. В настоящее время вы используете таблицу с именем pd

Смежные вопросы