加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB6将文件路径插入SQL FROM子句

发布时间:2020-12-17 00:05:40 所属栏目:大数据 来源:网络整理
导读:我在 Windows 7桌面上使用VB6来读取和处理文本文件,并且遇到了将变量传递给SELECT语句的问题.我的代码是: Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetDim cm As ADODB.CommandSet conn = New ADODB.Connectionconn.Open _ "Provider=Microsoft.
我在 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 datatest 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语句中带空格的路径/文件名吗?

应始终引用为数据源提供的值以避免此类问题.您可以使用引号“或撇号”来执行此操作,就像您对扩展属性值所做的那样.

然后使用数据源目录中的文件名作为表名至少“引用”它使用方括号[],并最好替换.对于#字符的文件扩展名.

没有“用于文本文件的OLEDB提供程序”,但您的示例显示使用Jet 4.0 OLEDB提供程序及其Text Installable ISAM,这很好.

Processing Text Databases提供了大量有关此主题的信息,大多数示例都使用VBScript,但它几乎都适用于VB6.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读