Hola Grupo:
Estoy trabajando con VB.net 2003. Me doy cuenta que cuando inserto un
registro, utilizando un Stored Procedure, me permite guardar blancos.
A pesar de que mi tabla de SQL Server tengo deshabilitada la opcion de no
permitir valores nulos en todos mis campos lo puedo hacer desde VB.net.
Como puedo hacer que no sea posible esto, sin necesidad de invertir en hacer
una condición para no permitir esto, ya que le estoy dejando toda el trabajo
a la programación si se puede hacer desde el motor de SQL Server.
Esta es mi rutina.
Private Sub Insert_Usuario()
Dim Conn = New SqlConnection
Dim Cmd = New SqlCommand
Try
Conn = New SqlConnection(Conexion)
Conn.open()
Cmd = New SqlCommand("sp_UsuarioInsert", Conn)
Cmd.CommandType = CommandType.StoredProcedure
'Ap_Pat
Dim pAp_Pat = New SqlParameter("@Ap_Pat", SqlDbType.VarChar, 15)
pAp_Pat.Value = Me.txtAp_Pat.Text
Cmd.Parameters.Add(pAp_Pat)
' Ap_Mat
Dim pAp_Mat = New SqlParameter("@Ap_Mat", SqlDbType.VarChar, 15)
pAp_Mat.Value = Me.txtAp_Mat.Text
Cmd.Parameters.Add(pAp_Mat)
' Nombre
Dim pNombre = New SqlParameter("@Nombre", SqlDbType.VarChar, 15)
pNombre.Value = Me.txtNombre.Text
Cmd.Parameters.Add(pNombre)
' Login
Dim pLogin = New SqlParameter("@Login", SqlDbType.VarChar, 10)
pLogin.Value = Me.txtLogin.Text
Cmd.Parameters.Add(pLogin)
' Password
Dim pPassword = New SqlParameter("@Password", SqlDbType.VarChar, 10)
pPassword.Value = Me.txtPassword.Text
Cmd.Parameters.Add(pPassword)
' ejecuta
Cmd.ExecuteNonQuery()
Catch Err As Exception
Me.lblMensaje.Text = Err.Message ' Tratamiento de Error
Catch Err As SqlException
Me.lblMensaje.Text = Err.Source ' Tratamiento de Error
Finally
Conn.close()
End Try
End Sub
Este es mi Stored Procedure
CREATE PROCEDURE sp_UsuarioInsert
(
@Ap_Pat varchar(15),
@Ap_Mat varchar(15),
@Nombre varchar(15),
@Login varchar(10),
@Password varchar(10)
)
AS
Insert into Tbl_Usuario (Ap_Pat, Ap_Mat, Nombre, Login, Password)
VALUES (@Ap_Pat, @Ap_Mat, @Nombre, @Login, @Password)
GO
Salu2 :-)))
(""'·._.·L.I. Daniel Villa·._.·'"")
Leer las respuestas