使用OleDb无法插入数据库

时间:2014-09-21 10:50:43

标签: sql ms-access

其他信息:查询表达式中的语法错误(缺少运算符)'')'。'。

这是我的代码

Dim connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Database1.mdb;")
Dim command As New OleDbCommand("INSERT INTO Student_Enquiry (StudentID,Email,Receiver,Comment) VALUES('" + TextBox3.Text + "','" + TextBox1.Text + "','" + ComboBox1.Text + "', '" + TextBox4.Text + "')", connection)

command.Connection.Open()
command.ExecuteNonQuery()
command.Connection.Close()

1 个答案:

答案 0 :(得分:2)

问题是插入语句中的最后右括号实际上不是正常的右括号;这是一个不同的角色。

您使用了 - "全宽右括号",U + FF09
代替) - "右括号",U + 0029,ASCII 0x29

比较无效和有效:!= )

请改用:

Dim command As New OleDbCommand("INSERT INTO Student_Enquiry (StudentID,Email,Receiver,Comment) VALUES('" + TextBox3.Text + "','" + TextBox1.Text + "','" + ComboBox1.Text + "', '" + TextBox4.Text + "')", connection)

此外,您确实不应该在查询中注入值,而是使用参数化查询来避免潜在SQL injection等问题。 documentation向您展示了如何执行此操作。