how to check the username is already exist in a table...?
-
hi every one...! em creating a create user account page. i want to check the username is already exists in my database table or not? if exists then give me a error message that username is already exists if not then account will be successfully create. em using this code but its not work correctly.. i dont know whatz de problem. and please remember em using Access database. please point out my mistakes. Dim objConnection As OleDbConnection Sub Page_Load(Source As Object, E As EventArgs) objConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _ & "DATA SOURCE=" _ & Server.MapPath("nwind.mdb;")) End Sub Sub btnInsert_Click(ByVal Sender As Object, ByVal E As EventArgs) Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then Dim strSQL As String = "INSERT INTO login (username, [password]) " & _ "VALUES (?, ?) " Dim dbComm As New OleDbCommand(strSQL, objConnection) dbComm.Parameters.Add("UserName", OleDbType.VarChar, 32, "UserName") dbComm.Parameters.Add("Password", OleDbType.VarChar, 128, "Password") dbComm.Parameters("UserName").Value = txtUserName.Text dbComm.Parameters("Password").Value = txtPassword.Text Try objConnection.Open() dbComm.ExecuteNonQuery() Catch ex As Exception Response.Write(ex.Message) Response.End() Finally If objConnection.State = ConnectionState.Open Then objConnection.Close() End If End Try Response.Write("A new record has been added") Response.End() Else Response.Write("your username is already exist") End If End Sub
-
hi every one...! em creating a create user account page. i want to check the username is already exists in my database table or not? if exists then give me a error message that username is already exists if not then account will be successfully create. em using this code but its not work correctly.. i dont know whatz de problem. and please remember em using Access database. please point out my mistakes. Dim objConnection As OleDbConnection Sub Page_Load(Source As Object, E As EventArgs) objConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _ & "DATA SOURCE=" _ & Server.MapPath("nwind.mdb;")) End Sub Sub btnInsert_Click(ByVal Sender As Object, ByVal E As EventArgs) Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then Dim strSQL As String = "INSERT INTO login (username, [password]) " & _ "VALUES (?, ?) " Dim dbComm As New OleDbCommand(strSQL, objConnection) dbComm.Parameters.Add("UserName", OleDbType.VarChar, 32, "UserName") dbComm.Parameters.Add("Password", OleDbType.VarChar, 128, "Password") dbComm.Parameters("UserName").Value = txtUserName.Text dbComm.Parameters("Password").Value = txtPassword.Text Try objConnection.Open() dbComm.ExecuteNonQuery() Catch ex As Exception Response.Write(ex.Message) Response.End() Finally If objConnection.State = ConnectionState.Open Then objConnection.Close() End If End Try Response.Write("A new record has been added") Response.End() Else Response.Write("your username is already exist") End If End Sub
asad_black wrote:
Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then
Perhaps running the query against your DB is a good move ?
Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.
-
hi every one...! em creating a create user account page. i want to check the username is already exists in my database table or not? if exists then give me a error message that username is already exists if not then account will be successfully create. em using this code but its not work correctly.. i dont know whatz de problem. and please remember em using Access database. please point out my mistakes. Dim objConnection As OleDbConnection Sub Page_Load(Source As Object, E As EventArgs) objConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _ & "DATA SOURCE=" _ & Server.MapPath("nwind.mdb;")) End Sub Sub btnInsert_Click(ByVal Sender As Object, ByVal E As EventArgs) Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then Dim strSQL As String = "INSERT INTO login (username, [password]) " & _ "VALUES (?, ?) " Dim dbComm As New OleDbCommand(strSQL, objConnection) dbComm.Parameters.Add("UserName", OleDbType.VarChar, 32, "UserName") dbComm.Parameters.Add("Password", OleDbType.VarChar, 128, "Password") dbComm.Parameters("UserName").Value = txtUserName.Text dbComm.Parameters("Password").Value = txtPassword.Text Try objConnection.Open() dbComm.ExecuteNonQuery() Catch ex As Exception Response.Write(ex.Message) Response.End() Finally If objConnection.State = ConnectionState.Open Then objConnection.Close() End If End Try Response.Write("A new record has been added") Response.End() Else Response.Write("your username is already exist") End If End Sub
asad_black wrote:
Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then
Well, there's a pretty good start. You've defined a query and then you don't use it anywhere. You initialise result to 0, and then test to see if result is greater than zero. Are you seeing the problems with that?
asad_black wrote:
Dim strSQL As String = "INSERT INTO login (username, [password]) " & _ "VALUES (?, ?) " Dim dbComm As New OleDbCommand(strSQL, objConnection) dbComm.Parameters.Add("UserName", OleDbType.VarChar, 32, "UserName") dbComm.Parameters.Add("Password", OleDbType.VarChar, 128, "Password")
Here you define your query with ? placeholders and then don't use them to when assigning your parameters. There are lots of things wrong here, and you should take the time to look into it.
Deja View - the feeling that you've seen this post before.
-
hi every one...! em creating a create user account page. i want to check the username is already exists in my database table or not? if exists then give me a error message that username is already exists if not then account will be successfully create. em using this code but its not work correctly.. i dont know whatz de problem. and please remember em using Access database. please point out my mistakes. Dim objConnection As OleDbConnection Sub Page_Load(Source As Object, E As EventArgs) objConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " _ & "DATA SOURCE=" _ & Server.MapPath("nwind.mdb;")) End Sub Sub btnInsert_Click(ByVal Sender As Object, ByVal E As EventArgs) Dim query As String query = "Select Count(*) From login Where username = ? " Dim result As Integer = 0 If result > 0 Then Dim strSQL As String = "INSERT INTO login (username, [password]) " & _ "VALUES (?, ?) " Dim dbComm As New OleDbCommand(strSQL, objConnection) dbComm.Parameters.Add("UserName", OleDbType.VarChar, 32, "UserName") dbComm.Parameters.Add("Password", OleDbType.VarChar, 128, "Password") dbComm.Parameters("UserName").Value = txtUserName.Text dbComm.Parameters("Password").Value = txtPassword.Text Try objConnection.Open() dbComm.ExecuteNonQuery() Catch ex As Exception Response.Write(ex.Message) Response.End() Finally If objConnection.State = ConnectionState.Open Then objConnection.Close() End If End Try Response.Write("A new record has been added") Response.End() Else Response.Write("your username is already exist") End If End Sub
asad_black wrote:
If result > 0 Then
I think if you will modify your condition mentioned above to: If result = 0 Then then it will work.