Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无法使用参数化插入进行处理_Mysql_Vb.net - Fatal编程技术网

Mysql 无法使用参数化插入进行处理

Mysql 无法使用参数化插入进行处理,mysql,vb.net,Mysql,Vb.net,我得到异常,列不能为空,未保存到我的数据库 但是如果我使用这个代码,它会起作用 你的桌子看起来像什么?听起来您有另一个字段可能是主键id字段,它需要一个值。如果是这样,请将其设置为自动递增,或为字段传入一个值。firstname和lastname中的“我的数据类型”是一个varcharAre。表中只有这些字段吗?没有其他列?是的,只有Lastname和firstname,varchar。但如果我不使用参数化查询,它就可以工作了。我可能错了,但我认为在使用ODBC时,您不能使用@作为MySQL的参

我得到异常,列不能为空,未保存到我的数据库

但是如果我使用这个代码,它会起作用


你的桌子看起来像什么?听起来您有另一个字段可能是主键id字段,它需要一个值。如果是这样,请将其设置为自动递增,或为字段传入一个值。firstname和lastname中的“我的数据类型”是一个varcharAre。表中只有这些字段吗?没有其他列?是的,只有Lastname和firstname,varchar。但如果我不使用参数化查询,它就可以工作了。我可能错了,但我认为在使用ODBC时,您不能使用@作为MySQL的参数前缀。Connector/Net支持它,但我认为您可能需要使用?如果您使用的是ODBC,则应改为使用ODBC。这就引出了一个问题:为什么要使用ODBC而不是Connector/Net?
Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
    con.close()
    con.open()
    cmd = New Odbc.OdbcCommand("INSERT INTO db.table(firstname,lastname) VALUES(@f1,@f2)", con)
    cmd.Parameters.AddWithValue("@f1", textboxfirstname.Text)
    cmd.Parameters.AddWithValue("@f2", textboxlastname.Text)
    cmd.ExecuteNonQuery()
End Sub
   Private Sub save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
    con.close()
    con.open()
    cmd = New Odbc.OdbcCommand("INSERT INTO db.table(firstname) VALUES('" & textboxfirstname.Text & "')", con)   

    cmd.ExecuteNonQuery()
End Sub