求教一个紧急的问题,关于csv文件的,近来看看
怎样把csv文件读取到数据集合?
最好有代码,着急,谢谢了
问题点数:100、回复次数:12Top
1 楼iuhxq(小灰)回复于 2005-01-29 13:21:13 得分 10
用FSO中的readlink
然后split(str,",")Top
2 楼iuhxq(小灰)回复于 2005-01-29 13:21:38 得分 0
readline
就是读取一行。Top
3 楼knet(为什么女人喜欢裸睡?)回复于 2005-01-29 13:24:14 得分 0
我想知道怎么能导入到数据集Top
4 楼iuhxq(小灰)回复于 2005-01-29 13:26:40 得分 0
SQL企业管理器里-》导入数据Top
5 楼knet(为什么女人喜欢裸睡?)回复于 2005-01-29 13:30:53 得分 0
。。。我是想知道用代码实现的Top
6 楼poron9(上帝之手)回复于 2005-01-29 13:37:29 得分 0
最简单的方法就是读一行
然后用SQL语句向数据库写一行Top
7 楼knet(为什么女人喜欢裸睡?)回复于 2005-01-29 13:40:34 得分 0
我现在不想往数据库写,只想读取到一个rs数据集里面Top
8 楼iuhxq(小灰)回复于 2005-01-29 14:25:34 得分 0
参考:
' 更新进度信息
' 进度信息保存在Application中的ADODB.Recordset对象中
Private Sub UpdateProgressInfo(progressID)
Const adTypeText = 2, adDate = 7, adUnsignedInt = 19, adVarChar = 200
If (progressID <> "" And IsNumeric(progressID)) Then
Application.Lock()
if IsEmpty(Application(UploadProgressInfo)) Then
Set Info = Server.CreateObject("ADODB.Recordset")
Set Application(UploadProgressInfo) = Info
Info.Fields.Append "ProgressID", adUnsignedInt
Info.Fields.Append "StartTime", adDate
Info.Fields.Append "LastActivity", adDate
Info.Fields.Append "TotalBytes", adUnsignedInt
Info.Fields.Append "UploadedBytes", adUnsignedInt
Info.Fields.Append "ReadyState", adVarChar, 128
Info.Fields.Append "ErrorMessage", adVarChar, 4000
Info.Open
Info("ProgressID").Properties("Optimize") = true
Info.AddNew
Else
Set Info = Application(UploadProgressInfo)
If Not Info.Eof Then
Info.MoveFirst()
Info.Find "ProgressID = " & progressID
End If
If (Info.EOF) Then
Info.AddNew
End If
End If
Info("ProgressID") = clng(progressID)
Info("StartTime") = Progress.StartTime
Info("LastActivity") = Now()
Info("TotalBytes") = Progress.TotalBytes
Info("UploadedBytes") = Progress.UploadedBytes
Info("ReadyState") = Progress.ReadyState
Info("ErrorMessage") = Progress.ErrorMessage
Info.Update
Application.UnLock
End IF
End Sub
' 根据上传ID获取进度信息
Public Function GetProgressInfo(progressID)
Dim pi, Infos
Set pi = New ProgressInfo
If Not IsEmpty(Application(UploadProgressInfo)) Then
Set Infos = Application(UploadProgressInfo)
If Not Infos.Eof Then
Infos.MoveFirst
Infos.Find "ProgressID = " & progressID
If Not Infos.EOF Then
pi.StartTime = Infos("StartTime")
pi.LastActivity = Infos("LastActivity")
pi.TotalBytes = clng(Infos("TotalBytes"))
pi.UploadedBytes = clng(Infos("UploadedBytes"))
pi.ReadyState = Trim(Infos("ReadyState"))
pi.ErrorMessage = Trim(Infos("ErrorMessage"))
Set GetProgressInfo = pi
End If
End If
End If
Set GetProgressInfo = pi
End Function
Top
9 楼wglnpc(用猫上网)回复于 2005-01-31 12:39:23 得分 0
strFilename = server.MapPath("文件路径")
Response.Buffer = True
Response.Clear
Set s = Server.CreateObject("ADODB.Stream")
s.Open
s.Type = 1
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(strFilename)
intFilelength = f.size
s.LoadFromFile(strFilename)
Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name
Response.AddHeader "Content-Length", intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite s.Read
Response.Flush
s.Close
Set s = Nothing
这是以前做项目时找到的一段代码,看看你哪里能用不!
Top
10 楼wglnpc(用猫上网)回复于 2005-01-31 12:45:12 得分 40
汗,回错贴了!刚才的是下载文件代码!这个是你要的!
set Pobj_conn =server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
Pstr_File_Path = server.mappath(File_Path)//文件路径
Pstr_connstr = "Driver={Microsoft Text Driver (*.txt; *.csv)};"
Pstr_connstr = Pstr_connstr & "Dbq=" & Pstr_File_Path & "\"
Pstr_connstr = Pstr_connstr &";Extensions=asc,csv,tab,txt;"
Pobj_conn.open Pstr_connstr
ls_sqlsel = "select * from " & Pstr_File_Name//必须是文件名字,例如:a.csv
rs.open ls_sqlsel,Pobj_conn,3,1
这样就读进纪录集了。另说一下,如果要做排序处理可以这样如下
ls_sqlsel = "select * from " & Pstr_File_Name & " order by 'A' desc"//这里的A是EXCEL的第一列。类推其他的字段!Top
11 楼ylben(杨威利)回复于 2005-01-31 12:46:36 得分 0
Private Sub UpdateProgressInfo(progressID)
-------------------------------------------
强!
Top
12 楼wglnpc(用猫上网)回复于 2005-01-31 12:47:03 得分 50
补充:Pstr_File_Path = server.mappath(File_Path)//文件路径
上句描述有误,是指文件所在的文件夹路径!
大概就是这样,把文件夹当数据库,文件夹里的文件当作表来用!Top




