我正在尝试将值从表单插入到我的数据库中。在表格中,我已将Zavrseno声明为位类型。我从复选框中获取Zavrseno值作为表单中的布尔类型。当我执行查询时,我收到错误:“将varchar值'True'转换为数据类型位时转换失败。”
Dim t1 As DateTime = Me.VrijemePocetkaDateTimePicker.Text
Dim t2 As String = Me.Tim1TextBox.Text
Dim t3 As String = Me.Tim2TextBox.Text
Dim t4 As Boolean = Me.ZavrsenoCheckBox.Checked
cmd = New SqlCommand("insert into dbo.Utakmice(VrijemePocetka,Tim1,Tim2,Zavrseno) values(' " & t1 & " ', ' " & t2 & " ' ,' " & t3 & " ' ,' " & t4 &" ')", conn)
答案 0 :(得分:0)
问题是Boolean.ToString
导致“真”或“假”,它们是BIT(或整数)字段的无效值 - BIT值应为0或1(或可强制)这样的。)
要解决此问题,use parameters。 使用参数将清理查询,防止SQL注入 1 ,和使代码“正常工作”。
1 SQL注入不一定是恶意的:如果用户将'
输入到其中一个文本字段中,程序将按照写入的方式中断。