我想插入复选框值到MS服务器数据库,但不工作,显示一些错误“运算符'&‘是不定义的字符串和复选框”
这是我的代码和数据库表名"test“列名"chk”,有没有人能给我指点一下?谢谢!
Protected Sub chk(sender As Object, e As EventArgs) Handles chk.CheckedChanged
Dim connectionString As String = "data source=xxxxx;Initial Catalog=xxx;User Id=xxx;Password=xxx;Integrated Security=SSPI"
Using cn2 As New SqlConnection(connectionString)
Dim cmd2 As New SqlCommand
If cbxIsCloud.Checked = True Then
cmd2 = New SqlCommand("Insert into test (chk) VALUES (chk)", cn2)
cn2.Open()
cmd2.ExecuteNonQuery()
cn2.Close()
End If
End Using
<td>
<asp:CheckBox runat="server" ID="chk" AutoPostBack="true" CssClass="uamCheckBox" Width="10px" />
</td>
发布于 2021-04-20 20:46:43
我认为你在整个参数的事情上还是有点不对劲,我认为你需要朝这个方向前进
Protected Sub chk(sender As Object, e As EventArgs) Handles chk.CheckedChanged
Dim connectionString As String = "data source=xxxxx;Initial Catalog=xxx;User Id=xxx;Password=xxx;Integrated Security=SSPI"
Using cn2 As New SqlConnection(connectionString)
Dim cmd2 As New SqlCommand
If cbxIsCloud.Checked = True Then
cmd2 = New SqlCommand("Insert into test (chk) VALUES (@chk)", cn2)
cmd2.Parameters.Add("@chk", SqlDbSqlDbType.Bit).Value = chk.Value
cn2.Open()
cmd2.ExecuteNonQuery()
cn2.Close()
End If
End Using
End Sub
您会注意到,我在这里特别输入了参数,并且查看了checkbox控件值。在上面的示例中,您正在尝试将复选框本身保存到DB中,这将不起作用或产生不希望的结果
需要注意的一件事是,我不能100%确定数据库中Test.Chk的DataType。我在这里假设它是一个布尔值,但我记得在您最初的问题中,它看起来像您保存字符串值的位置
https://stackoverflow.com/questions/67171973
复制