使用时,vb.net搜索访问数据库返回日期错误#

时间:2016-10-27 15:39:11

标签: vb.net ms-access oledbcommand

我一直在努力想出这个,并继续遇到同样的问题。我有一个链接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

1 个答案:

答案 0 :(得分:1)

因为您的字段名称包含特殊字符,所以您需要将其包装在方括号中,以告诉SQL解析器它是一个全名。