2016-06-07 2 views
-2

등록 버튼을 클릭하면 열에 아무 것도 입력하지 않아도 "registration successful" 테스트가 표시됩니다.
성공적으로 데이터베이스에 삽입 된 경우 "registration successful"으로 표시해야합니다. 그것이 내가 그것 (lblsuccessfail)vb 메시지 표시

Imports System.Data.SqlClient 
Imports System.IO 

Partial Class register 
    Inherits System.Web.UI.Page 


    Dim cn As New SqlConnection("Data Source=localhost\MSSQL2012;Initial Catalog=UserDetails;Integrated Security=True") 
    Dim cmd As New SqlCommand 
    Dim da As New SqlDataAdapter 


    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles btnnew.Click 
     cn.Open() 


     Try 


      Dim Query As String 

      Query = "INSERT INTO FirstProject (fullname,username,password,address,gender)VALUES('" & txtfullname.Text & "', '" & txtusername.Text & "','" & txtpassword.Text & "','" & txtaddress.Text & "','" & cbogender.Text & "')" 

      cmd = New SqlCommand(Query, cn) 


      If cmd.ExecuteNonQuery() Then 

       lblsuccessfail.Text = lblsuccessfail.Text & " Registertration successful " 

      End If 

     Catch ex As Exception 

      lblsuccessfail.Text = lblsuccessfail.Text & " Registertration unsuccessful " 


     End Try 

     cn.Close() 
    End Sub 

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub btnback_Click(sender As Object, e As System.EventArgs) Handles btnback.Click 
     Response.Redirect("login.aspx") 
    End Sub 
End Class 
+0

ExecuteNonQuery는이 데이터베이스가 비어있는 기록을 받아들이는 경우 행의 수, 그래서 삽입 반환 동일한 레이블에 "registration fail"를 표시해야 오류가있는 경우
, 코드 항상 성공합니다. 코드 또는 데이터베이스 자체에서이 결과에 대한 검사를 추가해야합니다. 그런데 ExecuteNonQuery 문제에 대해 경고하고 Option Strict On을 사용하도록 설정 한 경우 코드가 컴파일되지 않으며 자신에게 유리하게 작용합니다. 매개 변수가있는 쿼리를 사용하는 방법에 대해 알아보십시오. – Steve

+0

텍스트 상자에 아무 것도 추가하지 않으면 여전히 null이 저장됩니다. 코드를 삽입하기 전에 코드에서 값을 확인하지 않습니다. null 값에 대해 읽고 조건을 추가하여 값을 확인하십시오. – jitendragarg

답변

0
Imports System.Data.SqlClient 
Imports System.IO 

Partial Class register 
    Inherits System.Web.UI.Page 


    Dim cn As New SqlConnection("Data Source=localhost\MSSQL2012;Initial Catalog=UserDetails;Integrated Security=True") 
    Dim cmd As New SqlCommand 
    Dim da As New SqlDataAdapter 


    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles btnnew.Click 
     Try 

      cn.Open() 


      cmd = New SqlCommand("INSERT INTO FirstProject (fullname,username,password,address,gender)VALUES('" & txtfullname.Text & "', '" & txtusername.Text & "','" & txtpassword.Text & "','" & txtaddress.Text & "','" & cbogender.Text & "')", cn) 

      If txtfullname.Text = Nothing OrElse txtusername.Text IsNot Nothing Or txtpassword.Text.Equals(Nothing) OrElse txtaddress.Text = String.Empty Or cbogender.Text.Equals(String.Empty) Then Throw New Exception() 

      If cmd.ExecuteNonQuery() Then lblsuccessfail.Text = lblsuccessfail.Text & " Registertration successful " 

     Catch ex As Exception 

      lblsuccessfail.Text = lblsuccessfail.Text & " Registertration unsuccessful " 

     Finally 
      cn.Close() 
     End Try 

    End Sub 

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub btnback_Click(sender As Object, e As System.EventArgs) Handles btnback.Click 
     Response.Redirect("login.aspx") 
    End Sub 
End Class 
+0

열이 비어 있으면 등록에 실패합니다. – Happypig375

+0

코드에 대한 추가 변경 사항에 유의하십시오. – Happypig375