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.txt. 有人能给我正确的方法来处理SQL语句中带空格的路径/文件名吗?
应始终引用为数据源提供的值以避免此类问题.您可以使用引号“或撇号”来执行此操作,就像您对扩展属性值所做的那样.
然后使用数据源目录中的文件名作为表名至少“引用”它使用方括号[],并最好替换.对于#字符的文件扩展名. 没有“用于文本文件的OLEDB提供程序”,但您的示例显示使用Jet 4.0 OLEDB提供程序及其Text Installable ISAM,这很好. Processing Text Databases提供了大量有关此主题的信息,大多数示例都使用VBScript,但它几乎都适用于VB6. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |