这是一个批量插入用户信息的代码,现在问题我需要在插入前判断数据库里是否已经存在这些用户名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> 展开
<%
'申明变量
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> 展开
展开全部
这样吧,因为不知道你判断存在与否有什么用,所以我这里假设你的意图是这样:
如果数据内有这个名字了,就不保存了,并在页面上显示这个名字已经有了,跳过去,检测下一个名字,如果没有保存过,就保存之。
所以,你需要这样改你的代码:
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
照上面操作看看,如果有问题,就联系我。
祝你好运。我睡了。
如果数据内有这个名字了,就不保存了,并在页面上显示这个名字已经有了,跳过去,检测下一个名字,如果没有保存过,就保存之。
所以,你需要这样改你的代码:
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
照上面操作看看,如果有问题,就联系我。
祝你好运。我睡了。
展开全部
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
大体上的意思是,在每一次的插入前,从数据库中查一下,当前用户是否已经存在!
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
大体上的意思是,在每一次的插入前,从数据库中查一下,当前用户是否已经存在!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询