vb.net 搜索 access 数据库 returns 使用 # 时出现日期错误

vb.net searching access database returns date error when using #

我一直在努力解决这个问题,并让 运行 陷入同样的​​问题。我有一个已链接 Excel 个文件的 Access 数据库。 excel 文件的标题是 Store #,井号是我 运行 遇到问题的地方。

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

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