Как сохранить выпадающий список множественного выбора со значениями флажков в базе данных с разделением запятыми - PullRequest
0 голосов
/ 03 февраля 2020

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

   <div class="col-md-4 col-12">
   <div class="form-group">
   <label for="bkgenres">Genres</label>
   <asp:UpdatePanel runat="server">
     <ContentTemplate>
        <script type="text/javascript">
           function pageLoad() {
               document.multiselect('#bkgenres');
               document.multiselect('#bkgenres').deselectAll();
           };
        </script>
        <asp:ListBox ID="bkgenres" runat="server" CssClass="form-control multiselect-wrapper" multiple="multiple" onChange="mydun()"></asp:ListBox>
     </ContentTemplate>
     <Triggers>
        <asp:AsyncPostBackTrigger ControlID="bktype" EventName="SelectedIndexChanged" />
     </Triggers>
  </asp:UpdatePanel>

Я использую список на панели обновлений, и он работает нормально, но когда я выбираю несколько элементов и пытаюсь сохранить в базе данных, выбирается только первый выбранный параметр. Это мой код cs:

     String get_value = "";
        for (int i = 0; i < bkgenres.Items.Count; i++)
        {
            if (bkgenres.Items[i].Selected)
            {
                get_value = get_value + bkgenres.Items[i].Text + ",";
            }
        }
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "insert into Books (bookname,bookauthor,bookpublisher,bookdesc,bookdate,bookedition,bookpages,booktype,bookgenre,booklanguage) values (@bkname,@bkauthor,@bkpublication,@bkdesc,@bkdate,@bkedition,@bkpages,@bktype,@bkgenres,@bklang)";

        cmd.Parameters.AddWithValue("@bkname", bkname.Text);
        cmd.Parameters.AddWithValue("@bkauthor", bkauthor.Text);
        cmd.Parameters.AddWithValue("@bkpublication", bkpublication.Text);
        cmd.Parameters.AddWithValue("@bkdesc", bkdesc.Text);
        cmd.Parameters.AddWithValue("@bkdate", bkrdate.Text);
        cmd.Parameters.AddWithValue("@bkedition", bkedition.Text);
        cmd.Parameters.AddWithValue("@bkpages", bkpages.Text);
        cmd.Parameters.AddWithValue("@bkgenres", get_value);
        cmd.Parameters.AddWithValue("@bktype", bktype.SelectedItem.ToString());
        cmd.Parameters.AddWithValue("@bklang", bklanguages.Text);
        cmd.ExecuteNonQuery();

После добавления данных, которые я получаю, вывод в таблицу базы данных похож на этот параметр1. Первый параметр вводится в базу данных и разделяется запятой, но остальные параметры не сохраняются в таблице.

...