首先我要说的是,当我需要一些代码的帮助时,我非常感兴趣,当我看到有人试图帮助时,我会更加感激,所以对于每个人都感谢你即使你没有答案,也要查看我的问题/问题。
说完了,问我的问题:
我一直试图让这个工作,但我似乎无法找到语法错误! : - (
任何人都可以帮助我......
以下是代码:
dim strPathtoCSVFolder,strPathtoCSVFile,strPathtoCSVFileTWO
strPathtoCSVFolder="D:\classic_asp\test\" & Request.QueryString("XTNO") & "\Data\"
strPathtoCSVFile="Unit_" & Request.QueryString("XTNO") & "_Year_" & Request.QueryString("year") & "_Q_" & Request.QueryString("q") & "_MERGE_DataCsv.csv"
strPathtoCSVFileTWO="Unit_" & Request.QueryString("XTNO") & "_Year_" & Request.QueryString("year") & "_Q_" & Request.QueryString("q") & "_MERGE_DataCsv_SORTED.csv"
Set Conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathtoCSVFolder & ";Extended Properties=""text;HDR=YES;FMT=Delimited"""
dim strDirInfoX
strDirInfoX="SELECT STATE, SUM(GALLONS) as Total FROM " & strPathtoCSVFile & " GROUP BY STATE "
'''''' response.write strDirInfoX
dim strTxttoMem
dim strsource
strsource="RS.Open " & strDirInfoX & " , Conn, 1, 3, &H0001"
RS.Open strsource
'response.write strsource
redim FieldNames(rs.fields.count)
redim FieldTypes(rs.fields.count)
For i = 0 To (rs.Fields.Count - 1)
FieldNames(i) = cstr(trim(rs.Fields.Item(i).Name))
FieldTypes(i) = cstr(trim(rs.Fields.Item(i).Type))
Next
RS.Close
RS.Open strDirInfoX, Conn, 3, 3, &H0001
Do Until RS.EOF
'''' for i=0 to ubound(FieldNames)-1
''' response.write(FieldNames(i) & " = " & RS.Fields.Item(FieldNames(i)) & "<br>")
strTxttoMem=strTxttoMem & RS("STATE") & RS("total")
'' next
RS.MoveNext
Loop
RS.Close
Conn.Close
dim fs,tfile
set fs=Server.CreateObject("Scripting.FileSystemObject")
set tfile=fs.CreateTextFile(strPathtoCSVFolder & strPathtoCSVFileTWO)
tfile.WriteLine(strTxttoMem)
tfile.close
set tfile=nothing
set fs=nothing
非常感谢您的帮助......
答案 0 :(得分:3)
好吧,在没有运行代码的情况下,我发现了这一部分的错误:
dim strsource
strsource="RS.Open " & strDirInfoX & " , Conn, 1, 3, &H0001"
RS.Open strsource
或缩短它,你这样做:
RS.Open "RS.Open " & strDirInfoX & " , Conn, 1, 3, &H0001"
将其更改为RS.Open strDirInfoX, Conn, 1, 3, &H0001
,该部分会更好。
答案 1 :(得分:1)
这几乎是不可能回答的,可能存在多个错误,并且很大程度上取决于之前声明的内容,例如,显式选项会产生巨大差异(并且是可取的)。
由于在浏览器中进行调试很困难,因此您可以复制此代码 - 我猜测它来自asp文件 - 并将其放在vbs脚本中,用wscript.echo替换response.write并运行代码。 然后你在某一行得到一个错误,纠正它等等,然后通过response.write和你完成替换echos。
我还建议使用Firefox和Firebug插件进行测试,您将获得更多调试信息,至少使用Chrome或IE中的开发者视图
成功..
答案 2 :(得分:0)
曾经在VBScript上工作但是不应该tfile.close是tfile.Close?
答案 3 :(得分:0)
您是否尝试将文件作为文本文件读取而不是使用ADODB连接连接到文件?由于它是CSV文件,您可以将其作为纯文本文件读取。您可以使用逗号和循环拆分内容并获得所需内容。
如果要使用ADODB连接访问它,请尝试使用xlsx扩展名保存文件(通过代码复制内容或手动保存。相同的代码可能有效。)
在ADO上无耻地添加我的博客链接