Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar variable pública desde capa acceso!!!

Estas en el tema de Pasar variable pública desde capa acceso!!! en el foro de .NET en Foros del Web. Hola nuevamente estoy intentando pasar 3 variables de públicas desde la capa AccesoDatos y que se muestre en la capa Presentacion Aqui esta el código ...
  #1 (permalink)  
Antiguo 11/07/2012, 10:12
Avatar de junior1920  
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 14 años
Puntos: 1
Exclamación Pasar variable pública desde capa acceso!!!

Hola nuevamente estoy intentando pasar 3 variables de públicas desde la capa AccesoDatos y que se muestre en la capa Presentacion

Aqui esta el código

I.- CAPA ACCESODATOS
1.1 CLASE UsuarioAD

Código vb:
Ver original
  1. Imports Npgsql
  2. Imports NpgsqlTypes
  3. imports EntidadNegocio
  4. Public Class UsuarioAD
  5.     Public shared iduser as Integer
  6.     Public Shared nombres As String
  7.     Public Shared UserLogin As String
  8.     Public Shared Acceso As Boolean
  9.     Private conn As New NpgsqlConnection
  10.     Private comando As New NpgsqlCommand
  11.     #Region "Cadena de conexion"
  12.     Public Sub New()
  13.         Dim Objconexion As New conexion
  14.         conn = Objconexion.abrir
  15.         comando.Connection=conn
  16.     End Sub
  17.     #End Region
  18. #Region "Rutina para el acceso"
  19.     Public Function login(ByVal ObjUsuarioEN As UsuarioEN) as String'As List(Of UsuarioEN)
  20.         Dim listuser As New List(Of UsuarioEN)
  21.         Dim reader As NpgsqlDataReader
  22.         Try
  23.             conn.Close()
  24.             conn.Open()
  25.             comando.CommandType=CommandType.StoredProcedure
  26.             comando.CommandText="user_acceso"
  27.             Dim _logacceso As New NpgsqlParameter("_logacceso",NpgsqlTypes.NpgsqlDbType.Varchar)
  28.             _logacceso.Value=ObjUsuarioEN.logacceso
  29.             _logacceso.Direction=ParameterDirection.Input
  30.             comando.Parameters.Add(_logacceso)
  31.             Dim _clave As New NpgsqlParameter("_clave",NpgsqlTypes.NpgsqlDbType.Varchar)
  32.             _clave.Value=ObjUsuarioEN.clave
  33.             _clave.Direction=ParameterDirection.Input
  34.             comando.Parameters.Add(_clave)
  35.             reader=comando.ExecuteReader
  36.             If(reader.Read)Then
  37.             iduser=reader("idusuario").ToString()
  38.             nombres=reader("nom_ape").ToString()
  39.             UserLogin = reader("logacceso").ToString()
  40.             End If
  41.             Return nombres
  42.         Catch ex as Exception
  43.             MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
  44.         Finally
  45.             conn.Close()
  46.             conn.ClearAllPools
  47.         End Try
  48.     End Function
  49.     #End Region
  50. End Class

II.- CAPA ENTIDADNEGOCIO
2.1.- Clase UsuarioEN

Código vb:
Ver original
  1. Public Class UsuarioEN
  2.     Private gidusuario As Integer
  3.     Private gnom_ape As String
  4.     Private glogacceso As String
  5.     Private gclave As String
  6.     Private gtelef As String
  7.     Private gcorreo As String
  8.     '--------------------------
  9.     Public Property idusuario() as Integer
  10.         Get
  11.             Return gidusuario
  12.         End Get
  13.         Set(ByVal value as Integer)
  14.             gidusuario=value
  15.         End Set
  16.     End Property
  17.     '--------------------------
  18.     Public Property nom_ape() as String
  19.         Get
  20.             return gnom_ape
  21.         End Get
  22.         Set(ByVal value as String)
  23.             gnom_ape=value
  24.         End Set
  25.     End Property
  26.     '--------------------------
  27.     Public Property logacceso() as String
  28.         Get
  29.             return glogacceso
  30.         End Get
  31.         Set(ByVal value as String)
  32.             glogacceso=value
  33.         End Set
  34.     End Property
  35.     '--------------------------
  36.     Public Property clave() as String
  37.         Get
  38.             return gclave
  39.         End Get
  40.         Set(ByVal value as String)
  41.             gclave=value
  42.         End Set
  43.     End Property
  44.     '--------------------------
  45.     Public Property telef() as String
  46.         Get
  47.             return gtelef
  48.         End Get
  49.         Set(ByVal value as String)
  50.             gtelef=value
  51.         End Set
  52.     End Property
  53.     '--------------------------
  54.     Public Property correo() as String
  55.         Get
  56.             return gcorreo
  57.         End Get
  58.         Set(ByVal value as String)
  59.             gcorreo=value
  60.         End Set
  61.     End Property   
  62. End Class

III.- CAPA LOGICANEGOCIO
3.- Clase UsuarioLN

Código vb:
Ver original
  1. Imports AccessoDatos
  2. imports EntidadNegocio
  3. Public Class UsuarioLN
  4.     Private ObjUsuarioAD As UsuarioAD
  5.     Public Sub New()
  6.         ObjUsuarioAD=New UsuarioAD
  7.     End Sub
  8.     Public iduser=ObjUsuarioAD.iduser 'esto lo agregue recientemente
  9.     Public nombres=ObjUsuarioAD.nombres 'esto lo agregue recientemente
  10.     #Region "Establecer conexión para listado"
  11.     Public Function listado() As List(Of UsuarioEN)
  12.         return ObjUsuarioAD.listado
  13.     End Function
  14.     #End Region
  15.     #Region "Establecer conexion con la función login"
  16.     Public Function login(ByVal ObjUsuarioEN As UsuarioEN) as String 'As List(Of UsuarioEN)
  17.         Return ObjUsuarioAD.login(ObjUsuarioEN)
  18.     End Function
  19.     #End Region
  20. End Class

IV.-CAPA PRESENTACION
41.- Formulario login

Código vb:
Ver original
  1. Imports System.Data
  2. Imports EntidadNegocio
  3. Imports LogicaNegocio
  4. imports System.Windows.Forms
  5. Public Partial Class login
  6.     Public shared iduser as  String
  7.     Public Shared nombres As String
  8.     Public Shared UserLogin As String
  9.     Public Shared Acceso As Boolean
  10.     Private ObjUsuarioEN As UsuarioEN
  11.     Private ObjUsuarioLN As UsuarioLN
  12.     Public Sub New()
  13.         ' The Me.InitializeComponent call is required for Windows Forms designer support.
  14.         Me.InitializeComponent()
  15.        
  16.         '
  17.         ' TODO : Add constructor code after InitializeComponents
  18.         '
  19.  
  20.     End Sub
  21.     #Region "Evento click del boton OK"
  22.     Sub BtnOKClick(sender As Object, e As EventArgs)
  23.         ObjUsuarioEN=New UsuarioEN
  24.         ObjUsuarioLN=New UsuarioLN
  25.         If((txtUSER_NAME.Text<>"") And (txtPASSWORD.Text<>""))Then
  26.             ObjUsuarioEN.logacceso=Ltrim(Rtrim(txtUSER_NAME.Text))
  27.             ObjUsuarioEN.clave=Ltrim(Rtrim(txtPASSWORD.Text))
  28.             If(ObjUsuarioLN.login(ObjUsuarioEN)<>"")Then
  29.                 nombres=ObjUsuarioLN.nombres
  30.                 iduser=ObjUsuarioLN.iduser
  31.                     label1.Text=nombres
  32.                     label2.Text=iduser
  33.                     menuprincipal.Show()
  34.             '       me.Hide()
  35.             Else
  36.                 txtUSER_NAME.Focus
  37.             End If
  38.         Else
  39.             MessageBox.Show("Ingrese datos","Mensaje")
  40.             txtUSER_NAME.Focus
  41.         End If
  42.        
  43.     End Sub
  44.     #End Region
  45.     Sub LoginLoad(sender As Object, e As EventArgs)
  46.    
  47.     End Sub
  48. End Class

4.2.-Formulario menuprincipal

Código vb:
Ver original
  1. Public Partial Class menuprincipal
  2.     Public nombres as String
  3.     Public Sub New()
  4.         ' The Me.InitializeComponent call is required for Windows Forms designer support.
  5.         nombres=login.nombres 'esto lo agregue
  6.         Me.InitializeComponent()
  7.        
  8.         '
  9.         ' TODO : Add constructor code after InitializeComponents
  10.         '
  11.     End Sub
  12. 'En el evento load no me muestra el valor de la variable
  13. Sub MenuprincipalLoad(sender As Object, e As EventArgs)
  14.         label1.Text=login.nombres
  15.     End Sub

Como veran tengo las variables:iduser,nombres,UserLogin y estas son las variables que quiero obtener su valor en la capa PRESENTACION del Formulario menuprincipal; al gregar otro if en el formulario login debajo de esta línea de código:
Código vb:
Ver original
  1. If(ObjUsuarioLN.login(ObjUsuarioEN)<>"")Then
por ejemplo hago:

Código vb:
Ver original
  1. .
  2. .
  3. .
  4. If(ObjUsuarioLN.login(ObjUsuarioEN)<>"")Then
  5.                 nombres=ObjUsuarioLN.nombres
  6.                 iduser=ObjUsuarioLN.iduser
  7.                 If(iduser<>"" and nombres<>"")Then
  8.                     label1.Text=nombres
  9.                     label2.Text=iduser
  10.                     menuprincipal.Show()
  11.             '       me.Hide()
  12.                 End If
  13.  
  14.             Else
  15.                 txtUSER_NAME.Focus
  16.             End If
  17. .
  18. .
  19. .

Tengo que dar 2 veces click en el boton Ok para que pueda ingresar y ahi si que me muestra el valor pero se que no debe de ser así por que debería de ser que al primer click me mande al menuprincipal y que se muestre el valor de la variable
Si me pueden indicar como lo podría hacer.
Y lo de usar showdialog no creo por que el formulario login quedaría activo y solo lo quiero poner en hide

Etiquetas: pública, sql, windows, variables, capas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.