我在Visual Studio中使用Microsoft Access作为我的数据源,并希望在其中输入查询以返回值。
这是我的代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MyConn = New OleDbConnection
MyConn.ConnectionString = connString
ds = New DataSet
tables = ds.Tables
da = New OleDbDataAdapter("Select * from [Spend]", MyConn)
da.Fill(ds, "Spend")
Dim view As New DataView(tables(0))
source1.DataSource = view
DataGridView1.DataSource = view
MyConn.Open()
StartMonth = System.DateTime.Now.ToString("01/MM/yyyy HH:mm:ss")
query = "Select Amount from [Spend] WHERE Spend Date >='" & StartMonth & "'"
cmd = New OleDbCommand(query, MyConn)
TotalCost = CInt(cmd.ExecuteScalar())
MyConn.Close()
End Sub
End Class
我收到此错误:
查询表达式中的语法错误(缺少运算符)'花费日期> ='01/01/2016 13:46:50''
有人可以帮忙吗?
答案 0 :(得分:1)
对于Access,您应该使用:
StartMonth = System.DateTime.Now.ToString("yyyy'/'MM'/'01 HH:mm:ss")
query = "Select Amount from [Spend] WHERE [Spend Date] >= #" & StartMonth & "#"
答案 1 :(得分:0)
我找到了问题的答案。
如果列名由空格分隔,例如'花费日期'
你必须将它括在括号内,如[支出日期]
希望这有帮助。
答案 2 :(得分:0)