如果是ASP.net,请检查SQL数据库中是否存在电子邮件地址

如果是ASP.net,请检查SQL数据库中是否存在电子邮件地址,asp.net,sql,sql-server,vb.net,Asp.net,Sql,Sql Server,Vb.net,我试图检查SQL数据库,看看注册用户输入的电子邮件是否已经存在。如果是,那么我希望弹出一条错误消息,说明它已注册。如果没有,那么他们应该已经成功注册了。这是我表格中唯一需要的支票。问题部分在下面用*表示。请帮忙 导入System.Data.SqlClient 导入System.Data.Sql 导入System.Data.SqlTypes 导入系统数据 导入系统配置 导入System.Net.Mail 导入系统.Net 导入系统.Web 导入System.Web.UI 导入System.Web.

我试图检查SQL数据库,看看注册用户输入的电子邮件是否已经存在。如果是,那么我希望弹出一条错误消息,说明它已注册。如果没有,那么他们应该已经成功注册了。这是我表格中唯一需要的支票。问题部分在下面用*表示。请帮忙

导入System.Data.SqlClient
导入System.Data.Sql
导入System.Data.SqlTypes
导入系统数据
导入系统配置
导入System.Net.Mail
导入系统.Net
导入系统.Web
导入System.Web.UI
导入System.Web.UI.WebControl
导入System.Web.UI.WebControl.WebParts
导入System.Web.UI.HTMLControl
公共类WebForm1
继承System.Web.UI.Page
作为对象的模糊布尔卡尔
受保护的子btnSubmit\u Click(发件人作为对象,e作为事件参数)处理btnSubmit。单击
'声明数据库输入变量
Dim userId为整数=0
Dim firstName As String=txtFirstName.Text
Dim lastName As String=txtLastName.Text
将hometown1标注为字符串=txtHometown1.Text
Dim state1为字符串=txtState1.Text
尺寸zip1为String=txtZipCode1.Text
将hometown2标注为字符串=txtHometown2.Text
Dim state2作为字符串=txtState2.Text
尺寸zip2为String=txtZipCode2.Text
Dim phoneNum作为字符串=txtPhoneNumber.Text
Dim emailAddress As String=txtEmailAddress.Text
Dim密码为String=txtPassword.Text
Dim boolCar作为布尔值=False
Dim boolUmary As Boolean=False
如果radYesNo.SelectedIndex=0,则
布尔卡尔=真
其他的
布尔卡尔=假
如果结束
如果txtEmailAddress.Text.包含(“@umary.edu”),则
boolUmary=True
其他的
boolUmary=False
如果结束
如果boolUmary=True且txtPassword.Text=txtRetypePassword.Text,则
如果(IsPostBack)那么
'这将创建连接。它假定您的SQL Express数据库文件位于App_数据目录中
将sqlConn设置为新的SqlConnection(“Server=CISWEB\UMCISSQL2008;Database=StudentGov;UId=sa;Password=Password1;”)
将sqlCmd设置为新的SqlCommand“创建命令对象”
Dim_SqlDataReader As System.Data.SqlClient.SqlDataReader=无
sqlCmd.Connection=sqlConn'定义命令对象的连接
'使用参数化查询定义命令
sqlCmd.CommandText=“将值(@txtFirstName、@txtLastName、@txtHometown1、@txtState1、@txtZipCode1、@txtHometown2、@txtState2、@txtZipCode2、@txtPhoneNumber、@txtMailAddress、@txtPassword、@RadYesNo)插入注册表数据(FirstName、LastName、Hometown1、Hometown1、State1、State1、txtZipCode1、@txtHometown2、@txtState2、@txtPhoneNumber)”
'定义SQL参数
sqlCmd.Parameters.AddWithValue(“@txtFirstName”,txtFirstName.Text)
sqlCmd.Parameters.AddWithValue(“@txtLastName”,txtLastName.Text)
sqlCmd.Parameters.AddWithValue(“@txtHometown1”,txtHometown1.Text)
sqlCmd.Parameters.AddWithValue(“@txtState1”,txtState1.Text)
sqlCmd.Parameters.AddWithValue(“@txtZipCode1”,txtZipCode1.Text)
sqlCmd.Parameters.AddWithValue(“@txtHometown2”,txtHometown2.Text)
sqlCmd.Parameters.AddWithValue(“@txtState2”,txtState2.Text)
sqlCmd.Parameters.AddWithValue(“@txtZipCode2”,txtZipCode2.Text)
sqlCmd.Parameters.AddWithValue(“@txtPhoneNumber”,txtPhoneNumber.Text)
sqlCmd.Parameters.AddWithValue(“@txtEmailAddress”,txtEmailAddress.Text)
sqlCmd.Parameters.AddWithValue(“@txtPassword”,txtPassword.Text)
sqlCmd.Parameters.AddWithValue(“@RadYesNo”,boolCar)
sqlConn.Open()'打开连接
sqlCmd.ExecuteNonQuery()'执行数据插入
*****Dim消息为String=String.Empty
//“不知道这里发生了什么事
//'需要发生什么-如果UMaryEmail值为null,则message=注册成功+SendActivationEmail(userId)
//'ELSE(如果UMaryEmail!=ISNULL)message=提供的电子邮件地址已在使用中
sqlCmd.CommandText=“选择值=LEN(ISNULL(UMaryEmail,”)=0时的大小写,然后“+txtEmailAddress.ToString+”,LEN(ISNULL(UMaryEmail,”)!=0时的大小写,然后UMaryEmail从RegisteredUsers结束;”
选择Case userId
案例-10
sqlCmd.CommandText=“从RegisteredUsers中选择RegisteredUsers.UMaryEmail,其中(RegisteredUsers.UMaryEmail='“+txtEmailAddress.ToString+”);”
message=“提供的电子邮件地址已被使用。”
退出选择
其他情况
message=“注册成功。已向提供的电子邮件发送激活电子邮件。”
SendActivationEmail(用户ID)
重定向(“ActivateAccount.aspx”)
退出选择
结束选择*****
ClientScript.RegisterStartupScript([GetType](),“alert”,(Convert.ToString(“alert(”)&消息)+“;”,True)
sqlConn.Close()'关闭连接
ElseIf txtPassword.Text txtRetypePassword.Text然后
MsgBox(“密码不匹配!”)
ElseIf boolUmary=则为False
MsgBox(“请使用您的电子邮件地址!”)
如果结束
如果结束
端接头
私有子SendActivationEmail(用户ID为整数)
Dim sqlString As String=“Server=CISWEB\UMCISSQL2008;Database=StudentGov;UId=sa;Password=Password1;”
Dim ActivationCode As String=Guid.NewGuid().ToString()
使用con作为新的SqlConnection(sqlString)
使用sqlCmd作为新的SqlCommand(“更新注册表用户设置UserId=”+UserId.ToString+”,ActivationCode=“+ActivationCode.ToString+”,其中UMaryEmail=”“+txtEmailAddress.Text+”;”)
Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
   If txtEmailAddress.Text.Trim.EndsWith("@umary.edu") Or txtPassword.Text.Trim = txtRetypePassword.Text.Trim Then
      Dim con As New SqlConnection
      Dim cmdEmail As New SqlCommand
      Dim cmdRegistration As New SqlCommand
      Dim EmailCount As Integer = 0

      Try
         con.ConnectionString = "Data Source=SERVERNAME;Initial Catalog=StudentGov;User ID=sa;Password=Password1"
         con.Open()

         cmdEmail = New SqlCommand("SELECT COUNT(UMaryEmail) As EmailCount FROM RegisteredUsers WHERE UMaryEmail='" & txtEmailAddress.Text.Trim & "'", con)
         EmailCount = cmdEmail.ExecuteScalar()

         If EmailCount <> 0 Then
            ' Declare database input variables '
            Dim userId As Integer = 0
            Dim firstName As String = txtFirstName.Text
            Dim lastName As String = txtLastName.Text
            Dim hometown1 As String = txtHometown1.Text
            Dim state1 As String = txtState1.Text
            Dim zip1 As String = txtZipCode1.Text
            Dim hometown2 As String = txtHometown2.Text
            Dim state2 As String = txtState2.Text
            Dim zip2 As String = txtZipCode2.Text
            Dim phoneNum As String = txtPhoneNumber.Text
            Dim emailAddress As String = txtEmailAddress.Text
            Dim password As String = txtPassword.Text
            Dim boolCar As Boolean = False
            Dim boolUmary As Boolean = False

            If radYesNo.SelectedIndex = 0 Then
               boolCar = True
            Else
               boolCar = False
            End If

            ' Define the command using parameterized query '
            cmdRegistration = New SqlCommand("INSERT INTO RegisteredUsers(FirstName, LastName, Hometown1, State1, ZIP1, Hometown2, State2, ZIP2, PhoneNum, UMaryEmail, Password, Car) VALUES (@txtFirstName, @txtLastName, @txtHometown1, @txtState1, @txtZipCode1, @txtHometown2, @txtState2, @txtZipCode2, @txtPhoneNumber, @txtEmailAddress, @txtPassword, @RadYesNo)", con)

            ' Define the SQL parameter '
            cmdRegistration.Parameters.AddWithValue("@txtFirstName", txtFirstName.Text)
            cmdRegistration.Parameters.AddWithValue("@txtLastName", txtLastName.Text)
            cmdRegistration.Parameters.AddWithValue("@txtHometown1", txtHometown1.Text)
            cmdRegistration.Parameters.AddWithValue("@txtState1", txtState1.Text)
            cmdRegistration.Parameters.AddWithValue("@txtZipCode1", txtZipCode1.Text)
            cmdRegistration.Parameters.AddWithValue("@txtHometown2", txtHometown2.Text)
            cmdRegistration.Parameters.AddWithValue("@txtState2", txtState2.Text)
            cmdRegistration.Parameters.AddWithValue("@txtZipCode2", txtZipCode2.Text)
            cmdRegistration.Parameters.AddWithValue("@txtPhoneNumber", txtPhoneNumber.Text)
            cmdRegistration.Parameters.AddWithValue("@txtEmailAddress", txtEmailAddress.Text)
            cmdRegistration.Parameters.AddWithValue("@txtPassword", txtPassword.Text)
            cmdRegistration.Parameters.AddWithValue("@RadYesNo", boolCar)

            cmdRegistration.ExecuteNonQuery()
         Else
            ' Duplicate Email Exist Error Message '            
         End If
      Catch ex AS Exception
         ' Error Executing One Of The SQL Statements '
      Finally
         con.close()
      End Try      
   Else
      ' Throw Error Message '
   End If
End Sub