Error al ingresar desde un form usuario

Hola experto necesito de sus ayuda, el error es lo siguieinte
Estoy trabajando con una base de datos que ahora estoy haciendo conexión desde vb.net en la cual mi formulario usuario emite o muestra un mensaje es lo siguiente, "No se puede quitar el objeto 'CLIENTE', Hay un referenecia a él en una restricción FOREIGN KEY.".
Bueno estuve revisando mis relaciones en la data base:
Las relaciones de la tabla cliente son de esta manera:
Cliente con distrito.
Cliente con ubigeo.
Cliente con tipo.
Cliente con factura; estas son las relaciones.
Bueno espero de sus ayuda, les agradeceré mucho...

1 Respuesta

Respuesta
1
Creo que no estas siendo muy especifica en cuanto a la informacionq brindas, cuando vb se refiere a un objeto, es porque por lo general trabas con clases.
Dime, usas una clase cliente.
Y que es exactamente lo que quieres hacer en ese form.
Espero ser claro:
Tengo un store procedure en sql
create procedure sp_iniciarsesion
@usu  varchar (25),
@cal varchar (20)
As
select usuario, clave from usuarios
where usuario=@usu and clave=@cla
Ahora bien después de haberme conectado a la base de datos necesito ingresar al formulario principal pero antes debo logearme en el formulario usuarios en .net y es ahí donde me muestra el mensaje de error, ya mencionado... bueno espero ser claro y tu ayuda te lo agradeceré...
Bueno ahora si puedo entender mejor. Seria algo así:
1. Tu store, funciona, pero a nivel de sql, si tu haces eso en cualquier lenguaje, no sirve, porque no te comunicas en ningún momento con el. Para hacer esto te recomiendo que uses parámetros de salida, algo así.
create procedure sp_IniciarSesion
@Usu varchar(25),
@Cal varchar(20),
@Lo_estado bit output,
@Msg varchar(400) output
if exists (select usuario, clave from usuarios where usuario=@usu and clave=@cla )
begin
       set Lo_Estado=1
       set Msg='Correcto, usuario autoriazado'
end
else
begin
     set Lo_Estado=0
      set Msg='usuario o contraseña incorrecta'
end
---------Hasta ahí el store, espero que lo entiendas, es algo fácil. Pero más que ser fácil, tu lo puedes modificar para que controle si el usuario no existe o la contraseña es incorrecta y mandar diferentes mensajes.
----------Ahora en vb
Dim cn As New SqlConnection("Server=XX; DataBase=XXXX; Integrated Security= Yes")
Dim ds As New DataSet
Dim da As New SqlDataAdapter
Try
da.SelectCommand.Connection = cn
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "sp_IniciarSesion"
With da.SelectCommand
.Parameters.Add("@Usu", SqlDbType.VarChar, 25)
.Parameters(0).Value = TxtUsuario.Text
.Parameters.Add("@Cal", SqlDbType.VarChar, 20)
.Parameters(1).Value = TxtContraseña.Text
.Parameters.Add("@Lo_Estado", SqlDbType.Bit)
.Parameters(2).Value = 0
.Parameters.Add("@Msg", SqlDbType.VarChar, 450)
.Parameters(3).Value = Nothing
End With
cn.Open()
da.Fill(ds, "consultausuario") 'Nombre de tu tabla en el dataset
If ds.Tables("consultausuario").Rows(0)(0) = True Then
FrmNuevo.show()
Else
MsgBox(ds.Tables("consultausuario").Rows(0)(1), MsgBoxStyle.Critical, "Error de Logueo")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en conexcion")
End Try
Espero que entiendas este código, cualquier cosa, no te olvides de contactarme

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas