我正在尝试连接到 ODBC 连接。
这有效。
Dim cn As OdbcConnection
cn = New OdbcConnection("DRIVER={SQL Server};SERVER=ServerName;UID=UserName;" &
"PWD=Password;DATABASE=dbName;")
Dim mystring As String = "SELECT * FROM dbo_lData WHERE S_DT > #3/18/2018#"
Dim cmd As OdbcCommand = New OdbcCommand(mystring)
cn.Open()
MsgBox("Connected")
cn.Close()
我使用在互联网上找到的不同代码尝试了几种变体,但我一直遇到相同的错误。错误 42000,# 附近的语法不正确。这是代码。
Dim selectSQL As String = "SELECT * FROM dbo_lData WHERE S_DT > #3/18/2018#"
cn = New OdbcConnection("DRIVER={SQL Server};SERVER=ServerName;UID=UserName;" &
"PWD=Password;DATABASE=dbName;")
Dim custDA As New OdbcDataAdapter
Dim selectCMD As OdbcCommand = New OdbcCommand(selectSQL, cn)
custDA.SelectCommand = selectCMD
Dim custDS As DataSet = New DataSet
custDA.Fill(custDS, "lData")
DataGridView1.Visible = True
DataGridView1.DataSource = custDA
我对此很迷茫,但我想做的只是......
您收到的错误是指您的 Select 语句。正如评论所说使用参数。首先仔细检查 S_DT 列的数据类型。我想知道当 SQL 服务器本机提供程序 SQLClient 会产生更好的结果时,您为什么要使用 ODBC。
Dim cn As New OdbcConnection("connection string")
Dim cmd As New OdbcCommand("SELECT * FROM dbo_lData WHERE S_DT > @sdate", cn)
cmd.Parameters.Add("@sdate", OdbcType.Date)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句