asp开发的页面,将excel导入SQL,如何解决数据重复插入

我用ASP开发的web页面,可以实现将EXCEL数据导入SQL数据库,但是目前出现了一个问题,就是我将同样的EXCEL表再导入,数据库中依然会自动添加,我设置了索引字段后... 我用ASP开发的web页面,可以实现将EXCEL数据导入SQL数据库,但是目前出现了一个问题,就是我将同样的EXCEL表再导入,数据库中依然会自动添加,我设置了索引字段后,是可以避免重复添加了,但是web就直接出错,我想增加一个判断,在导入重复的数据时,自动弹出提示。有哪位大侠可以帮帮忙啊?
下面是我的程序代码,实现导入是没问题的。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="upload_5xsoft.inc"-->
<!--#include file="../conn/dbconn.asp"-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>EXECL数据导入</title>
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
color: #666666;
}
-->
</style>
</head>
<body>
<%
session.CodePage=936
Server.ScriptTimeOut=600000
set upload=new upload_5xsoft
set file=upload.file("file1")
if file.fileSize>120000 then
%>
<script>
alert("您选择的文件过大!");
window.close();
</script>
<% end if
if file.fileSize>0 then
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)
filename=filename+"."
filenameend=file.filename
filenameend=split(filenameend,".")
if filenameend(1)="xls" then
filename=filename&filenameend(1)
file.saveAs Server.mappath("uploadfile/"&filename)
else
response.write "数据格式不对!"
response.write "<a href=upload.asp>返回</a>"
response.end()
end if
set file=nothing
else
response.write "文件不能为空!"
response.write "<a href=upload.asp>返回</a>"
response.end()
End if
set upload=nothing

'上传XLS文件结束,下面从上传的XLS文件中读取数据写入到SQL数据库
strAddr=server.MapPath("uploadfile/"&filename)
set excelconn=server.createobject("adodb.connection")
excelconn.open "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+strAddr+";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'"
set rs=server.CreateObject("adodb.recordset")
set rs1=server.CreateObject("adodb.recordset")
sql="select * from [Sheet1$]"
rs.open sql,excelconn,1,1
if not(rs.bof and rs.eof) then
rs.movenext
do while not rs.eof

sql1="select * from student"
rs1.open sql1,conn,1,3
rs1.addnew
rs1("name")=rs(0)
rs1("bj")=rs(1)
rs1("xb")=rs(2)
rs1("xh")=rs(3)
rs1.update
rs1.close
rs.movenext
loop
end if
rs.close()

set rs=nothing
set rs1=nothing

excelconn.Close()
set excelconn=nothing

set objFS=Server.CreateObject("Scripting.FileSystemObject")
phyPath=server.MapPath("uploadfile/"&filename)
objFS.DeleteFile phyPath,True
set objFS=nothing

conn.close()
set conn=nothing
%>
<script>
alert("数据导入成功!");
window.parent.document.location.reload();
history.back();
</script>

<%

%>

</body>
</html>
我知道啊,我是问能不能具体的从我代码中加以修改。
展开
 我来答
传说中的鹰王
2009-10-27 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:548万
展开全部
sheet 表里的值和数据库里的值做比较
取出 sheet 表里一行值,就和student 表里的数据做比较,如果数据库里已存在,则提示错误,或者跳过继续读取下一行

select count(*) from student where
name=rs(0) and bj=rs(1) and xb=rs(2) and xh=rs(3)

结果为0插入,结果不为零continue
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式