网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网络编程 >> ASP教程 >> 正文
最新文章
· FSO 组件asp生成html静态页面碰到缓存
· asp实现长文章自动分页插件
· 在ASP中访问和更新Cookies集合
· ASP错误提示大全
· 学习ASP的几个观点
· ASP用两级联动下拉列表来显示大类和小
· ASP取当前页面地址和参数
· ASP删除记录的同时删除相关图片
· asp将查询结果导出到excel
· ASP批量导入Excel到Access或者Sql Se
热门文章
 化境ASP无组件上传类 - upload_5xs
 一个获取ACCESS数据库表名以及表名
 asp将查询结果导出到excel
 艾恩ASP无组件上传修改版
 ASP批量导入Excel到Access或者Sql 
 ASP读取数据库的Flash+JS图片切换特
 ASP用两级联动下拉列表来显示大类和
 ASP+JS实现网页歌曲连播、点播功能
 使用ASP重启服务器
 asp批量替换access数据库中指定字段
相关文章
ASP中将Excel数据导入到Access
ASP批量导入Excel到Access或者Sql Server库中
来源:网易博客 更新时间:2012/9/8 11:28:37 阅读次数:
字体:[ ] 我要投稿

最近在研究批量导入数据的问题,这个其实没有什么难点,只是如果一次性数据全部导入的话,要是数据量小的话,还可以,要是几万条,肯定会出现延时问题。我研究了一下,结合一个朋友的建议,写了一个小导入程序,供大家参考!

<!--#Include File="Conn.asp"-->
<%
Dim ResultNum '定义每次插入记录数
Dim Page '定义循环次数
ResultNum = 100   '定义每次插入200条记录

Page = Trim(Request.QueryString("Page"))
If Page = "" Then
   Page = 1
End If
Page = Cint(Page)
PageTmp = Page-1 '计算当前记录数用

Set Rs = Server.CreateObject("Adodb.RecordSet")
Sql = "Select Count(ID) As Cnt From [Sheet1$]"
Rs.Open Sql,Conn,1,1
Cnt = Rs("Cnt")
Rs.Close

PageSize = Cnt/ResultNum+1 '统计总页数
If Page > PageSize Then
   Set Rs = Nothing
   Conn.Close
   Set Conn = Nothing
   Response.Write("已经到记录末尾!")
   Response.End()
End If
Sql = "Select * From [Sheet1$] Where Id Between "&(PageTmp*ResultNum+1)&" And "&Page*ResultNum&""
Rs.Open Sql,Conn,1,1
If Rs.Eof And Rs.Bof Then
%>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
    <td height="30" align="center">暂无商品!</td>
</tr>
</table>
<%
Else
%>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
    <td height="30" align="center">正在插入<%=(PageTmp*ResultNum+1)%>条到<%=Page*ResultNum%>条数据,请稍后……</td>
</tr>
</table>
<%
   Connstr1 = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source="& Server.MapPath("db/pdlfood.xls")
   Set Conn1 = Server.CreateObject("Adodb.Connection")
   Conn1.Open Connstr1
 
   Do While Not Rs.Eof
    Set Rs1 = Server.CreateObject("Adodb.RecordSet")
    Sql1 = "Select * From [Sheet1$] Where FoodCode = "&Rs("FoodCode")&" "
    Rs1.Open Sql1,Conn1,1,3
    If Rs1.Eof And Rs1.Bof Then
     Rs1.AddNew
     Rs1("FoodCode") = Rs("FoodCode")
     Rs1("FoodName") = Rs("FoodName")
     Rs1.Update
    Else
    '不做处理
    End If
    Rs1.Close
    Set Rs1 = Nothing
    Rs.MoveNext
   Loop
   Conn1.Close
   Set Conn1 = Nothing  
End If 
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
Response.Write("<script language='javascript'>location.href('?Page="&(Page+1)&"');</script>")
%>

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号