Visual Basic无法转换为(MySQL)位类型

时间:2013-06-08 11:25:44

标签: mysql visual-studio-2010

我正在尝试将值从表单插入到我的数据库中。在表格中,我已将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)

1 个答案:

答案 0 :(得分:0)

问题是Boolean.ToString导致“真”或“假”,它们是BIT(或整数)字段的无效值 - BIT值应为0或1(或可强制)这样的。)

要解决此问题,use parameters。  使用参数将清理查询,防止SQL注入 1 使代码“正常工作”。


1 SQL注入不一定是恶意的:如果用户将'输入到其中一个文本字段中,程序将按照写入的方式中断。