我一直在努力想出这个,并继续遇到同样的问题。我有一个链接Excel文件的Access数据库。 excel文件的标题是Store#,而pound符号是我遇到问题的地方。
New OleDbCommand("SELECT * FROM LSM WHERE Store # = @Store", myConnection)
lstscmd.Parameters.AddWithValue("@Store", CInt(gateDBSearch))
如果我删除#符号,并在我的代码中将其删除它可以工作(richtexbox只显示搜索记录的结果),不幸的是,这不是最终版本中的选项。如果我将#符号留在文件中,但将其从代码中删除,则richtextbox会填充所有结果。如果我在代码和文件上留下#符号,我在查询表达式'Store#= @Store'异常中的日期中会出现语法错误。对此的任何帮助都会很棒。
Dim lstscmd As OleDbCommand = New OleDbCommand("SELECT * FROM LSM WHERE Store # = @Store", myConnection)
lstscmd.Parameters.AddWithValue("@Store", CInt(gateDBSearch))
dr = lstscmd.ExecuteReader
While dr.Read()
txtRichInfo.AppendText(dr("Gate Tech").ToString + Environment.NewLine)
lblAccessSysChange.Text = dr("Access System").ToString
End While
myConnection.Close()
lblAccessSysChange.Visible = True
答案 0 :(得分:1)
因为您的字段名称包含特殊字符,所以您需要将其包装在方括号中,以告诉SQL解析器它是一个全名。