2014-12-12 4 views
0

Я попытался коды тут и там со всего места, но не смогли получить что-нибудь работать ...Получение значений из базы данных CheckBoxList

Я мои ценности CheckBoxList сохраняются в базе данных. Все, что я хочу, - это получить значения из базы данных и получить соответственно элементы списка CheckBox.

Код в конструкторской странице:

<asp:CheckBoxList ID="CheckBoxList1" runat="server"> 
<asp:ListItem Value="1">Sales</asp:ListItem> 
<asp:ListItem Value="2">Office & Administration</asp:ListItem> 
<asp:ListItem Value="3">Domestic Help</asp:ListItem> 
<asp:ListItem Value="4">Education & Training</asp:ListItem> 
<asp:ListItem Value="5">Accounting and Finance</asp:ListItem> 
<asp:ListItem Value="6">Hospitality and Tourism</asp:ListItem> 
<asp:ListItem Value="7">Computer and IT</asp:ListItem> 
<asp:ListItem Value="8">Customer Service</asp:ListItem> 
<asp:ListItem Value="9">Logistics and Transportation</asp:ListItem> 
<asp:ListItem Value="10">Healthcare</asp:ListItem> 
<asp:ListItem Value="11">Food and Beverage</asp:ListItem> 
<asp:ListItem Value="12">Marketing, Media & Communication</asp:ListItem> 
<asp:ListItem Value="13">Construction & Architecture</asp:ListItem> 
<asp:ListItem Value="14">Human Resources</asp:ListItem> 
<asp:ListItem Value="15">Others</asp:ListItem> 
</asp:CheckBoxList> 

Так я использую этот код для сохранения значений CheckBoxList в базу данных. которая работает хорошо ...

for (int j = 0; j < CheckBoxList1.Items.Count - 1; j++) 
    { 
     if (CheckBoxList1.Items[j].Selected == true) 
     { 
      string r = CheckBoxList1.Items[j].Value.ToString(); 
      SqlConnection myconn1; 
      SqlCommand cmd1; 
      string sql1; 
      myconn1 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString()); 
      myconn1.Open(); 
      sql1 = "insert into interests(FK_ic_id,FK_is_id)values(@FK_ic_id,@FK_is_id)"; 
      cmd1 = new SqlCommand(sql1, myconn1); 

      cmd1.Parameters.AddWithValue("@FK_is_id", ssid); 
      cmd1.Parameters.AddWithValue("@FK_ic_id", r); 
      cmd1.ExecuteNonQuery(); 
      myconn1.Close(); 
     } 
    } 

Так таблица «интересы», есть отдельная таблица имен категорий (список интересов). Данные сохраняются, как:

  • User-1 (FK_IS_ID), Процентный-2 (FK_IC_ID)
  • User-1 (FK_IS_ID), Процентный-3 (FK_IC_ID)
  • User-2 (FK_IS_ID) , Процентный-4 (FK_IC_ID)
  • User-2 (FK_IS_ID), Процентный 2 (FK_IC_ID)

интерес 2-3 указывает на интерес со стороны 'категории' таблицы, которая имеет:

  • категория-1 (c_id), Менеджер по продажам (c_name)
  • категория-2 (c_id), Маркетинг (c_name)
  • категории-3 (c_id), IT (c_name)

Так что теперь все, что я хочу, - это функция загрузки страницы, которая должна быть переполнена или заполнена в зависимости от пользователя (SID) и его интересов (c_id/FK_IC_ID). Элементы в списке флажков должны быть выбраны в функции загрузки страницы. Необходимо получить несколько интересов.

+0

Я не знаю, им новое для asp.net ... Но этот вопрос связан с DropDownList, который не имеет сложные вещи, как петли, индексы и т. д., как в CheckBoxList – Rifshan

ответ

1

Вы должны связать свой checklistbox к источнику данных:

SqlDataAdapter da = 
      new SqlDataAdapter("SELECT c_id,c_name FROM category", 
      new SqlConnection 
      (WebConfigurationManager.ConnectionStrings 
      ["ApplicationServices"].ToString())); 
      DataSet ds = new DataSet(); 
      da.Fill(ds); 
      checkedListBox1.DataSource = ds; 
      checkedListBox1.SelectedValue = "c_id"; 
      checkedListBox1.SelectedItem = "c_name "; 
+0

Им очень жаль, им ничего не известно ... Что указывает AccountM? и мы не используем цикл в поиске? так как многократный интерес может быть там для 1 пользователя .. – Rifshan

+0

Вы очень приветствуете брата, я действительно вас не устраивал, можете ли вы привести структуру вашей ** ** ** ** ** таблицы **? – jfun

+0

Извините, если я действительно не был чист. Что я имел в виду, например, если есть 2 пользователя, SID = 1 и SID = 2 ... Итак, если SID 1 проверяет значение 2,3,5 на флажке, это сохраненный в таблице интересов, как: - interestID = 1, SID = 1, c_id = 2 <следующая запись в таблице> - interestID = 2, SID = 1, c_id = 3 <следующая запись в таблице> - interestID = 3, SID = 1, c_id = 5 Итак, теперь, когда я загружаю страницу, я хочу, чтобы в списке флажков было 2,3,5, если SID = 1. – Rifshan