2016-03-31 17 views
1

Verilerin eklendiği bir form var. Bazı onay kutuları vardır. CheckboxList db tablosunu bağlar. Şimdi öğeleri seçtikten sonra db tablosunda seçilen değerleri girmeli, ancak boş dizeleri ekler.seçili öğeler işaretli liste seçilmez ve dize boş değerler ekler

İki onay kutunuz var (ürünler, ödeme) Ödeme düzgün çalışıyor. sorun ürünlerde. İşte

VB kodu

Private Sub list_business_hospital_Load(sender As Object, e As EventArgs) Handles Me.Load 
    Me.PopulateProducts() 
    Me.PopulatePayments() 
End Sub 

Private Sub PopulateProducts() 
    productsList.Items.Clear() 
    Using conn As New MySqlConnection() 
     conn.ConnectionString = ConfigurationManager _ 
      .ConnectionStrings("conio").ConnectionString() 
     Using cmd As New MySqlCommand() 
      cmd.CommandText = "select * from chemistsProducts" 
      cmd.Connection = conn 
      conn.Open() 
      Using sdr As MySqlDataReader = cmd.ExecuteReader() 
       While sdr.Read() 
        Dim item As New ListItem() 
        item.Text = sdr("productName").ToString() 
        item.Value = sdr("productName").ToString() 
        'item.Selected = Convert.ToBoolean(sdr("IsSelected")) 
        productsList.Items.Add(item) 
       End While 
      End Using 
      conn.Close() 
     End Using 
    End Using 
    productsList.Items.Insert(0, New ListItem("All", "All")) 
End Sub 

Private Sub PopulatePayments() 
    Using conn As New MySqlConnection() 
     conn.ConnectionString = ConfigurationManager _ 
      .ConnectionStrings("conio").ConnectionString() 
     Using cmd As New MySqlCommand() 
      cmd.CommandText = "select * from payment" 
      cmd.Connection = conn 
      conn.Open() 
      Using sdr As MySqlDataReader = cmd.ExecuteReader() 
       While sdr.Read() 
        Dim item As New ListItem() 
        item.Text = sdr("paymentName").ToString() 
        item.Value = sdr("paymentID").ToString() 
        'item.Selected = Convert.ToBoolean(sdr("IsSelected")) 
        ListPayment.Items.Add(item) 
       End While 
      End Using 
      conn.Close() 
     End Using 
    End Using 
    ListPayment.Items.Insert(0, New ListItem("All", "All")) 
End Sub 

Private Sub save_Click(sender As Object, e As EventArgs) Handles save.Click 
     Dim selectedProducts As String = String.Empty 
     For Each chk As ListItem In productsList.Items 
      If chk.Selected = True Then 
       selectedProducts &= "<li>" + chk.Text + "</li>" 
      End If 
     Next 


     Dim payments As String = String.Empty 
     For Each chk As ListItem In ListPayment.Items 
      If chk.Selected = True Then 
       payments &= "<li>" + chk.Text + "</li>" 
      End If 
     Next 

     Try 
      Dim str1 As String = "INSERT INTO chemists (`products`, `payment`) values ('" + selectedProducts + "', '" + payments + "')" 

      Dim str2 As MySqlDataReader 
      Dim adapter As New MySqlDataAdapter 
      Dim command As New MySqlCommand 
      command.CommandText = str1 
      command.Connection = con 
      adapter.SelectCommand = command 
      con.Open() 
      str2 = command.ExecuteReader 
      con.Close() 
      Response.Redirect("business-added.aspx") 
     Catch ex As Exception 
      Response.Write(ex) 
     End Try 
End Sub 

Ödeme seçtiğim ne takılı alır. Sorun selectedProducts içindedir

cevap

0

, sayfa yüklemesine aşağıda deneyin

If Not IsPostBack Then 
    Me.PopulateProducts() 
    Me.PopulatePayments() 
End If 
İlgili konular