我在 Windows 7 桌面上使用 VB6 来阅读和处理文本文件,但在将变量传递给 SELECT 语句时遇到了问题。我的代码是:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As ADODB.Command
Set conn = New ADODB.Connection
conn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited( )"""
inputFile = "C:\test data\test data.asc"
Set cm = New ADODB.Command
cm.ActiveConnection = conn
cm.CommandType = adCmdText
cm.CommandText = "SELECT * FROM " & inputFile
Set rs = New ADODB.Recordset
rs.Open cm, , adOpenKeyset, adLockOptimistic
问题是输入文件的路径名包含空格,当我运行上面的代码时,它在 rs.OPen 行失败,并出现错误,指出 FROM 子句中的语法错误。如果 inputFile 中的路径不包含空格,则一切正常。
我在 inputFile 周围尝试了许多 " ' [] 等组合,但总是出现语法错误或另一个错误,提示找不到 inputFile.txt。
谁能给我正确的方法来处理 SQL 语句中带有空格的路径/文件名?