注册 登录
编程论坛 ASP.NET技术论坛

如何实现注册时检测所注册的用户名已经存在?

scindy 发布于 2007-03-24 13:40, 3260 次点击
下面是我的代码,看一下哪儿有问题:

dim str as string
Dim hname As String = Request.QueryString(usname.Text)
Dim strs As String = "select * from users where username='" & hname & "'"
Dim cmd2 As New OleDbCommand(strs, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd2.ExecuteReader()
If dr.Read() = True Then
message.Text = "此用户已经存在!"
Else
str = "insert into users(username,userpwd,realname,) values('" & usname.Text & "','" & uspwd.Text & "','" & realname.Text & "')"
Dim cmd As New OleDbCommand(str, conn)
cmd.ExecuteNonQuery() '提示这行有错
conn.Close()
message.Text = "注册成功!"
End If

提示错误:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。

我整个页面就只有这一个conn.open()啊,怎么会出这个错误呢???






6 回复
#2
重在参与2007-03-24 13:57
private void Button1_Click(object sender, System.EventArgs e)
{
string str="select Admin_ID,Admin_psw from p_AdminInfo where Admin_name='"+TextBox1.Text+"'";
SqlConnection con = new SqlConnection("server=127.0.0.1;uid=sa;database=pubs;");
con.Open();
SqlCommand com=new SqlCommand(str,con);
SqlDataReader dr=com.ExecuteReader();
try
{
if(dr.Read())
{
if(dr.GetString(1)==TextBox2.Text)
{
Session["Admin_ID"]=dr["Admin_ID"].ToString();
Response.Redirect("adminIndex.aspx");
}
else
{
Response.Write("用户密码不正确!");
}
}
else
{
Response.Write("无此用户 !");
}
}
finally
{
dr.Close();
con.Close();
con.Dispose();
}
}
}
#3
卡洛2007-03-24 15:17
cmd.ExecuteNonQuery()
cmd.Close()
conn.Close()
把CMD关了啊
#4
scindy2007-03-24 17:03
谢谢两位了,我试一下~~


#5
哭泣的狼2007-03-24 19:07
你还可以使用arjx来实现无刷新判断用户名是否存在,这样的效果可能比较好一点呀!!!
#6
IPV62007-03-24 21:30
“arjx”是什么?
应该是AJAX (Asynchronous JavaScript and XML)的缩写
#7
哭泣的狼2007-03-26 11:22

我靠,你别逗了!·!这都不知道,你是怎么学习ASP.NET的!!你可以到Arjx论坛去看看,那里有好都这样的例子!!

1