如何通过asp将word或excel文档保存在sql2K数据表中?

shyao_2006 2006-02-07 05:03:13
问题如标题所示。
具体操作如下:在选择文件时,选择要保存的word或excel文档所在路径,点提交按钮时,把该.doc或.xls文档保存在表test中的某个字段中。
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghongwen 2006-02-08
  • 打赏
  • 举报
回复
整个文件导是不行的,那样就只能上传了.无法写入数据库.
shyao_2006 2006-02-07
  • 打赏
  • 举报
回复
刚才趁机浏览了一下其它的帖子,觉得这个有点像,我把地址给出,大家一起来研究研究
http://community.csdn.net/Expert/topic/4453/4453424.xml?temp=.1705286
chinastorm 2006-02-07
  • 打赏
  • 举报
回复
这个是一条一条倒入的,整个文挡倒入好象不行吧,word和excel原理差不多
shyao_2006 2006-02-07
  • 打赏
  • 举报
回复
先谢谢楼上的提供源代码!我一定会给分的,请放心。
不过,有些疑问想请教:你这种导入方式是一条记录一条记录的导入,有没有一种方法可以把整个文档给直接导入呢,因为我要保存的文档的类型并不确定,可能是word,也可能是excel的。
我原来是做delphi的,存取文件时是通过流文件导入的,现在用asp了,一时不知如何操作,还请您多多指教!
谢谢!!
zhanghongwen 2006-02-07
  • 打赏
  • 举报
回复
给你代码:(将EXCEL文件内容导入到SQL.记得给分噢!)
<%
server.scripttimeout=100000000
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn)
'定义
dim myConnection
dim strName
dim rsXsl,rsSql
dim str_Xsl,str_Sql
dim myConn_Xsl
dim cmd
dim i,j
dim maxId

strName=strFileName
set myConnection=server.createobject("adodb.connection")
set rsXsl=Server.Createobject("ADODB.Recordset")
set rsSql=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection=myConn



myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & ";Extended Properties=Excel 8.0"

'myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application("ASP_Directory") & "chapter05\database\" & strName & ";Extended Properties=Excel 8.0"
'打开连接
myConnection.open myConn_Xsl

'打开表
str_Xsl="select * from ["& strSheetName &"$]"
rsXsl.open str_Xsl,myConnection,1,1
j=1
Do While not rsXsl.eof
'取出最大值
str_Sql="select Max(id) as maxId from fubiao"
rsSql.open str_Sql,myConn,1,3
If Not rsSql.Eof Then
If not isNull(rsSql("maxId")) Then
maxId=Clng(rsSql("maxId"))+1
Else
maxId=1
End if
else
maxId=1
End if
rsSql.close'//关闭对象
'加入数据库
str_Sql="insert into fubiao values("&maxId&",'"&rsXsl(1)&"','"&rsXsl(3)&"','"&rsXsl(4)&"','"&rsXsl(5)&"','"&rsXsl(6)&"','"&rsXsl(7)&"','"&rsXsl(8)&"','"&rsXsl(9)&"','"&rsXsl(10)&"','"&rsXsl(11)&"','"&rsXsl(12)&"','"&rsXsl(13)&"','"&rsXsl(14)&"','"&rsXsl(15)&"','"&rsXsl(16)&"','"&rsXsl(17)&"','"&rsXsl(18)&"','"&rsXsl(19)&"','"&rsXsl(20)&"','"&rsXsl(21)&"','"&rsXsl(22)&"','"&rsXsl(23)&"','"&rsXsl(24)&"','"&rsXsl(25)&"','"&rsXsl(26)&"','"&rsXsl(27)&"')"
cmd.CommandText=str_Sql
cmd.Execute()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
j=j+1
rsXsl.movenext
Loop

response.write "共导入<font color='red'>" & j-1 & "</font>条记录.<br>"
response.write "<a href=javascript:history.back()>确定</a>"
set rsXsl=nothing
set rsSql=nothing
set myconnection=nothing
set cmd=nothing
end sub

file1="'"&request.form("filename2")&"'"
strtj=mid(request.form("filename2"),instrrev(file1,"\"),(instrrev(file1,".")-instrrev(file1,"\")-1))
if file1="" then
response.write "请选择您要导入的Excel表!<p></p>"
%>
<a href=javascript:history.back()>上一页</a>
<%
response.end
end if
'respons.write "'"&request.form("filename")&"'"
myconn="DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=qjgsj_data"
dataIntoSqlServer_ceritificate file1,""&strtj&"",myconn

%>

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧