注册代码(防止用户名重复)

andywsy 2008-03-23 01:21:54
在这里面怎么添代码啊?就是数据库里已经有了该用户名,别人用该用户名注册的时候怎么让它报错呢?vb.net
Try
conn.Open()
cmd.ExecuteNonQuery()
Panel2.Visible = True
Catch
Label1.Text = "注册失败"
Finally
conn.Close()
End Try
...全文
201 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
andywsy 2008-03-23
  • 打赏
  • 举报
回复
放哪里啊?谢谢
a854468521 2008-03-23
  • 打赏
  • 举报
回复
数据库连接的开闭最好少用,耗时耗资源.
a854468521 2008-03-23
  • 打赏
  • 举报
回复
If conn .State = ConnectionState.Closed Then conn .Open()
andywsy 2008-03-23
  • 打赏
  • 举报
回复
错误说明:ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。
andywsy 2008-03-23
  • 打赏
  • 举报
回复
if cmd.ExecuteScalar > 0 then 有错啊?
a854468521 2008-03-23
  • 打赏
  • 举报
回复
Dim dsn As String = ConfigurationSettings.AppSettings("DSN_student")
Dim conn As New SqlClient.SqlConnection
conn.ConnectionString = dsn
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = conn
cmd.CommandText = "select count(id) form Student_login where l_name '" & "????" & "'"
If cmd.ExecuteScalar > 0 Then
MsgBox("已经存在的用户.")
Exit Sub
End If

cmd.CommandText = "insert into Student_login (s_id,s,sl_pwd,sl_phone,sl_date,sl_mailbox,sl_memo) values ('" + number.Text + "','" + realname.Text + "','" + password1.Text + "','" + phone.Text + "','" + DateTime.Now.Date + "','" + email.Text + "','" + memo.Text + "')"
Try
conn.Open()
cmd.ExecuteNonQuery()
Panel2.Visible = True
Catch
Label1.Text = "注册失败"
Finally
conn.Close()
End Try


不意思,刚才没在IDE中写错了.
a854468521 2008-03-23
  • 打赏
  • 举报
回复
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dsn As String = ConfigurationSettings.AppSettings("DSN_student")
Dim conn As New SqlClient.SqlConnection
conn.ConnectionString = dsn
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = conn
cmd.CommandText ="select count(id) form Student_login "
if cmd.ExecuteScalar > 0 then
msgbox "错误"
exit sub

cmd.CommandText = "insert into Student_login (s_id,sl_name,sl_pwd,sl_phone,sl_date,sl_mailbox,sl_memo) values ('" + number.Text + "','" + realname.Text + "','" + password1.Text + "','" + phone.Text + "','" + DateTime.Now.Date + "','" + email.Text + "','" + memo.Text + "')"
Try
conn.Open()
cmd.ExecuteNonQuery()
Panel2.Visible = True
Catch
Label1.Text = "注册失败"
Finally
conn.Close()
End Try

End Sub
andywsy 2008-03-23
  • 打赏
  • 举报
回复
具体怎么编呢?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dsn As String = ConfigurationSettings.AppSettings("DSN_student")
Dim conn As New SqlClient.SqlConnection
conn.ConnectionString = dsn
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = conn
cmd.CommandText = "insert into Student_login (s_id,sl_name,sl_pwd,sl_phone,sl_date,sl_mailbox,sl_memo) values ('" + number.Text + "','" + realname.Text + "','" + password1.Text + "','" + phone.Text + "','" + DateTime.Now.Date + "','" + email.Text + "','" + memo.Text + "')"
Try
conn.Open()
cmd.ExecuteNonQuery()
Panel2.Visible = True
Catch
Label1.Text = "注册失败"
Finally
conn.Close()
End Try

End Sub
a854468521 2008-03-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 andywsy 的帖子:]
在这里面怎么添代码啊?就是数据库里已经有了该用户名,别人用该用户名注册的时候怎么让它报错呢?vb.net
Try
conn.Open()
cmd.ExecuteNonQuery()
Panel2.Visible = True
Catch
Label1.Text = "注册失败"
Finally
conn.Close()
End Try
[/Quote]
你可以在写入前先判断该数据库是否有该记录,然后在进入下步.

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧