我有一条错误消息“标准表达式中的数据类型不匹配”
Dim Conn As OleDbConnection = New OleDbConnection
Dim provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Dim dataFile = "E:\TME Review\TME Review Database.accdb"
Conn.ConnectionString = provider & dataFile
Conn.Open()
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Monthly where [Date Ended]= '" + TextBox3.Text + "'", Conn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
[Date Ended]数据类型是文本,textbox3的内容是字符串值。我仔细检查过。知道为什么我得到错误数据类型不匹配?提前致谢
答案 0 :(得分:-1)
在VB中,要连接字符串,必须使用"&"相反" +"。
修改强>
如果所有数据都是字符串,这是正确的答案...... 但是,如果您的日期设置为' 12/05/2009'你必须把它括在#中,如:
where [End Date] = '#12/05/2009#'
答案 1 :(得分:-1)
检查文本框中输入的值。在这种使用日期字段过滤掉记录的情况下,您最好首先检查文本框中的值是否为有效日期,然后再将其用于OleDBCommand。
Dim cmd As OleDbCommand= Nothing
If IsDate(TextBox3.Text)= True Then
cmd= New OleDbCommand("SELECT * FROM Monthly where [Date Ended]= '" + TextBox3.Text + "'", Conn)
End If