如何在数据库中加载checkboxlist的状态?

时间:2013-12-19 17:03:19

标签: asp.net vb.net

我有一个复选框列表,里面有6个复选框(下面是我的数据库)

id       : int
interest : bit

当我单击一个复选框时,该值将以TRUE的形式保存到我的数据库中。这是我的代码:

Dim connectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim insertSql As String = "INSERT INTO tbinterest(interest) VALUES(@interest)"

Using myConnection As New SqlConnection(connectionString)
    myConnection.Open()
    Dim myCommand As New SqlCommand(insertSql, myConnection)
    myCommand.Parameters.AddWithValue("@interest", SqlDbType.Bit).Value = 1
    myCommand.ExecuteNonQuery()
    myConnection.Close()
End Using

但不知何故,当我加载页面时,它不显示已检查状态(已选中/未选中)。这是我在页面加载中的代码。你能帮我吗?感谢。

Dim connectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Using myConnection As New SqlConnection(connectionString)     
    Dim objCmd_team As SqlCommand = New SqlCommand("SELECT [interest] FROM [tbinterest]", myConnection)
    myConnection.Open()
    Dim objReader As SqlDataReader = objCmd_team.ExecuteReader()

    While (objReader.Read())
        Dim currentCheckBox As ListItem = chkApprovers.Items.FindByText(objReader("interest"))

        If currentCheckBox IsNot Nothing Then
            currentCheckBox.Selected = True
        End If
    End While     
End Using

1 个答案:

答案 0 :(得分:0)

你的代码似乎是正确的..请检查这一行是否有关于listitem有价值的断点。

昏暗 currentCheckBox作为 ListItem = chkApprovers.Items。 FindByText(objReader ( “利息”))

如果listitem什么都不是,那么试试这个

昏暗 currentCheckBox作为 ListItem = chkApprovers.Items。 FindByText(objReader.Item (“兴趣”)。ToString)

还有一件事,你只是将比特值保存为兴趣,那么你是如何将它与你的复选框相匹配的。 您只能与checkboy文本值或id值匹配

希望得到这个帮助。