Me Inserta Blancos

16/12/2005 - 17:04 por Daniel H. Villa | Informe spam
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

#1 Imac_man
16/12/2005 - 20:42 | Informe spam
Es extraño que menciones que se puede insertar Null desde VB.net si la tabla
no lo permite. ¿Has intentado introducir valores Null directamente sobre la
tabla para comprobar que has establecido bien la propiedad AllowNull.?

"Daniel H. Villa" escribió en el mensaje
news:
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·._.·'"")



Preguntas similares