hola amigos quiero que me corrijan y por favor me digan cual es mi error.
En mi programa estoy haciendo una validación que no permita ingresar un DNI ya registrado en mi base de datos.
Procedimiento almacenado SQL es el siguiente
Código PHP:
create procedure InsertarPersona
@Nombres varchar(50),
@Apellidos varchar(50),
@Dni int,
@Direccion varchar(100),
@Telefono int,
@Email varchar(100),
@Estado varchar(30)
as
begin
if (select Count(*) from tztPersona where Dni = @Dni) = 0
insert into tztPersona values (@Nombres, @Apellidos, @Dni, @Direccion, @Telefono, @Email, @Estado)
else
select 'Error, DNI Repetido..'
end
go
Este es mi método para registrar una Persona
Código PHP:
Public Function InsertarPersona(ByVal a As nPersona) As Boolean
Try
Conectado()
cmd = New SqlCommand("InsertarPersona")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@Nombres", a.getNombres)
cmd.Parameters.AddWithValue("@Apellidos", a.getApellidos)
cmd.Parameters.AddWithValue("@Dni", a.getDni)
cmd.Parameters.AddWithValue("@Direccion", a.getDireccion)
cmd.Parameters.AddWithValue("@Telefono", a.getTelefono)
cmd.Parameters.AddWithValue("@Email", a.getEmail)
cmd.Parameters.AddWithValue("@Estado", a.getEstado)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
Desconectado()
End Try
End Function
Código PHP:
If Me.ValidateChildren = True And txtNombres.Text <> "" And txtApellidos.Text <> "" And txtCi.Text <> "" And txtDireccion.Text <> "" And txtTelefono.Text <> "" And txtEmail.Text <> "" Then
Try
Dim na As New nPersona
Dim da As New dPersona
na.getNombres = txtNombres.Text
na.getApellidos = txtApellidos.Text
na.getDni = txtDni.Text
na.getDireccion = txtDireccion.Text
na.getTelefono = txtTelefono.Text
na.getEmail = txtEmail.Text
na.getEstado = cmbEstado.SelectedItem
If da.InsertarPersona(na) Then
MessageBox.Show("Persona Registrada Correctamente", "Guardando Datos..", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("Ya Existe Una Persona Con el Mismo DNI.", "Guardando Datos..", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Faltan Datos Para Ingresar", "Guardando Datos..", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Espero que me digan porque razón cuando introduzco un DNI repetido no me muestra el mensaje que ese DNI ya se encuentra registrado, pero eso sí, si introduzco un DNI repetido no inserta a la base de datos, eso significa que mi procedimiento almacenado está funcionando bien.