28,391
社区成员
发帖
与我相关
我的任务
分享
<%
'格式化文本流,使其能正常被导入数据库
function HTMLEncode(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(9), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Replace(fString, CHR(10), "<BR> ")
HTMLEncode = fString
end function
'配置需要导入ACCESS数据库的文本文件所在的目录
filepath ="D:\news"
'获取扩展名
Function getExt(exttext)
If inStr(exttext,".")>0 then
getExt = LCase(mid(exttext,InstrRev(exttext,".")+1))
Else
getExt = ""
End If
End Function
'遍历方式获取所有文本文件逐一导入数据库
Function alltxtfile(path)
Dim tmp:tmp=""
Set fso=server.CreateObject("scripting.filesystemobject")
Set objFolder=fso.GetFolder(path)
i=0
For Each objFile In objFolder.Files
If getExt(objFile.name)="txt" then
Set txt=fso.opentextfile(objFile.path,1,true)
If not txt.atendofstream Then
con=HTMLEncode(txt.readall)
i = i+1
tmp=tmp&""&i&""""&FileName&"""<br>"
FileName=replace(objFile.name,".txt","")
Filecon=con
%>
<form name="form" method="post" action="daokk.asp?come=que">
<td height="24" width="100%" align="center">
<textarea name="FileName" style="width:100%;height:30px;" id="FileName" ><%=FileName%> </textarea></td>
</td>
<td height="24" width="100%" align="center">
<textarea name="Filecon" style="width:100%;height:600px;" id="Filecon" ><%=Filecon%></textarea></td>
</td>
<td><input type="submit" name="Submit" value="确认更新"> <input type="reset" name="Submit2" value="重置信息">
</td>
</form>
<%
come=request.QueryString("come")
FileName=Trim(Request.Form("FileName"))
Filecon=Trim(Request.Form("Filecon"))
if come="que" then
'---以下是导入数据库部分:
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("data\news.mdb") '数据库文件
conn.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source="&DBPath
'只插入不去重
sql = "insert into news(Title,Content)values('"&FileName&"','"&Filecon&"')"
Conn.execute(sql)
'去除重复后再导入,运行慢,应该独立一个表操作!
'set rs=server.CreateObject("ADODB.RecordSet")
'mysql="select * from news where rtrim(Title)='"&FileName&"'"
'rs.open mysql,conn,1,3
'if rs.eof then '如果指针指向数据库尾部,说明没有该文件名(当前循环的FileName)
'插入数据
'sql = "insert into news(Title,Content)values('"&FileName&"','"&Filecon&"')"
'Conn.execute(sql)
'end if
'rs.close
'set rs=nothing
'---导入数据库部分结束
response.write "<SCRIPT language=JavaScript>alert('信息修改成功!');</script>"
response.End()
End If
End If
txt.Close
Set txt=Nothing
End If
next
Response.write("共"&i&"个文件被成功导入,分别为:<br><br>")
Set objFolder=Nothing
Set fso=Nothing
alltxtfile = ""&Mid(tmp,2)&""
End Function
response.write alltxtfile(filepath)
%>