这是一个批量插入用户信息的代码,现在问题我需要在插入前判断数据库里是否已经存在这些用户名username?

求高人指点(全副身家仅剩5分,不好意思-_-!!!):<%'申明变量DimvalNameDimarrNameDimobjConnDimconnStrIfRequest.F... 求高人指点(全副身家仅剩5分,不好意思-_-!!!):

<%
'申明变量
Dim valName
Dim arrName
Dim objConn
Dim connStr

If Request.Form("mySubmit") = "确定" Then

'数据库链接代码
set objConn=server.CreateObject("ADODB.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("1data/data.mdb")
objConn.Open connstr

'取得值
valName = Cstr(Request.Form("myName"))

'插入数据库
arrName = split(valName,",")
'arrPassword = split(valPassword,",")

'执行插入数据库的过程
For i = 0 to Ubound(arrName)
'请自行更改SQL语句

objConn.execute("insert into [admin]([username],[password],[email]) values ('"&Trim(arrName(i))&"','"&Trim(arrName(i))&"','"&Trim(arrName(i))&"@qq.com')")

Next

Response.write("成功插入")

'关闭数据库连接
objConn.close
Set objConn = nothing
End If
%>
<html>

</head>

<body>
<input type="button" value="增加一条数据" onclick="addIt()" />
<form method="post" action="bbatch.asp" id="myForm">
<div><input type="text" name="myName" /></div>
<input type="submit" value="确定" id="mySubmit" name="mySubmit" />
</form>
</body>
</html>
<script language="javascript" type="text/javascript">
function $(obj){
return document.getElementById(obj);
}
function addIt(){
var myForm = $("myForm");
var mySubmit = $("mySubmit");
var myDiv = document.createElement("div");
var myInput = document.createElement("input");
myInput.setAttribute("type","Text");
myInput.setAttribute("name","myName");
myForm.insertBefore(myDiv,mySubmit);
myDiv.appendChild(myInput);
}
</script>
展开
 我来答
borrypaula88
2011-01-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
这样吧,因为不知道你判断存在与否有什么用,所以我这里假设你的意图是这样:
如果数据内有这个名字了,就不保存了,并在页面上显示这个名字已经有了,跳过去,检测下一个名字,如果没有保存过,就保存之。
所以,你需要这样改你的代码:
1,在objConn.Open connstr 下一行插入如下代码:
set rs=server.createobject("adodb.recordset") '建立数据集对象
2,在For i = 0 to Ubound(arrName) '请自行更改SQL语句 下一行插入如下代码:
sql="select username from admin where username='"&Trim(arrName(i)&" ' " '搜索用户名于数据库中
rs.open sql,objconn,1,1 '采用只读形式打开
if rs.bof and rs.eof then '如果数据集内根本就没有,则指针当然在最前也是最后,此时说明数据库内没有那个帐号。
3,在arrName(i))&"','"&Trim(arrName(i))&"@qq.com')") 下一行插入以下代码:
else
response.write "用户:"&arrName(i)&"已经存在。<br>"

end if
4,在Next下一行插入如下代码:
rs.close
set rs=nothing

照上面操作看看,如果有问题,就联系我。
祝你好运。我睡了。
lgclss
2011-01-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
set rs=server.createobject("adodb.recordset")'加上了这句
For i = 0 to Ubound(arrName)
'请自行更改SQL语句

rs.open "select username from [admin] where username='"&Trim(arrName(i))&"'",objconn,1,1'加上了这句
if rs.eof and rs.bof then'加上了这句,意思是看看数据库中是否存在?如果不存在,那么执行你的插入语句
objConn.execute("insert into [admin]([username],[password],[email]) values ('"&Trim(arrName(i))&"','"&Trim(arrName(i))&"','"&Trim(arrName(i))&"@qq.com')")
else
response.write "用户:"&Trim(arrName(i))&"已经存在"
end if'加上了这句
rs.close'加上了这句

Next
大体上的意思是,在每一次的插入前,从数据库中查一下,当前用户是否已经存在!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栦薳
2011-01-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
使用二分查找大法……搜搜算法把……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式