Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 如何解决vb.net中的SQL语法错误?_Mysql_Sql_Vb.net - Fatal编程技术网

Mysql 如何解决vb.net中的SQL语法错误?

Mysql 如何解决vb.net中的SQL语法错误?,mysql,sql,vb.net,Mysql,Sql,Vb.net,我想不出如何解决这个错误。请帮我解决这个问题 Dim Command As MySqlCommand Dim reader As MySqlDataReader Dim query As String query = "INSERT into fishshop.recordsale (name,itemuse,description,price,qty,total,amount,change) values('" & TextBox2.Text & "','" & Te

我想不出如何解决这个错误。请帮我解决这个问题

Dim Command As MySqlCommand
Dim reader As MySqlDataReader
Dim query As String

query = "INSERT into fishshop.recordsale (name,itemuse,description,price,qty,total,amount,change) values('" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox5.Text & "','" & TextBox4.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & TextBox9.Text & "','" & TextBox10.Text & "')"
Command = New MySqlCommand(query, Moduleconn.conn)
reader = Command.ExecuteReader
MsgBox("transaction Successfuly Saved", MsgBoxStyle.Information, "Message")
conn.Close()
错误图像:

更改
是MySql的一项重要功能。
必须在其周围使用反勾号才能在语句中使用:

INSERT .....(..., `change`) VALUES .....

另外,如果列
change
total
是数字,则在将它们保存到表中之前,从
文本框中删除

将数据库对象保持在本地,以便可以控制它们是否关闭和释放<代码>使用…结束
使用块即使出现错误,也要为您解决此问题

读卡器用于检索数据。要插入、更新或删除数据,请使用
.ExecuteNonQuery

使用
参数
避免Sql注入。这一点非常重要,因为恶意用户可能会破坏您的数据库。参数只是服务器认为的值,而不是用户可以在文本框中输入的Drop table之类的可执行代码

您必须打开一个连接才能使用它。(对于为您打开和关闭连接的
数据适配器
,情况并非如此)始终在最后一秒打开连接(就在
之前。执行
)并尽快关闭连接(始终在消息框之前)

Private子插入()
使用conn作为新的MySqlConnection(“您的连接字符串”),
命令作为新的MySqlCommand(“插入fishshop.recordsale(名称、项目使用、描述、价格、数量、总数)值(@name、@itemsuse、@description、@price、@qty、@total)”,康涅狄格州)
使用Command.Parameters
.Add(“@name”,MySqlDbType.String,50).Value=TextBox2.Text
.Add(“@itemuse”,MySqlDbType.String,50).Value=TextBox3.Text
.Add(“@description”,MySqlDbType.String,50).Value=TextBox5.Text
.Add(“@price”,MySqlDbType.Decimal).Value=CDec(TextBox4.Text)
.Add(“@qty”,MySqlDbType.Int32).Value=CInt(TextBox6.Text)
.Add(“@total”,MySqlDbType.Decimal).Value=CDec(TextBox7.Text)
以
康涅狄格州公开赛
Command.ExecuteNonQuery()命令
使用“结束”关闭并处理连接和命令
MsgBox(“事务成功保存”,MsgBoxStyle.Information,“消息”)
端接头

学习使用参数!这可能会消除您现在遇到的问题。您是否创建了数据库?什么数据类型是价格、数量、总数、金额、更改?您真的需要存储金额和零钱吗?