Ayuda en Visual y SQL con un label

#1
Hola bakunos: soy novato en la programación, pero tengo alguito de base. el problema es el siguiente:

tengo mi tabla de datos "USUARIO" en sql con columnas "nombre, apellido, username, password, dni y telefono" tengo un login en visual el cual me pide el username y el password (hasta ahi todo normal) al reconocer los datos quisiera que en el form siguiente en visual se muestre un mensaje como "Bienvenido (nombre)" en un label... pero no se como jalarlo desde sql.

agradesco cualquier aporte. gulp!
 

Giovanni924

Bovino de alcurnia
#2
pues segun lo dices es una simple asignacion de el valor de una variable. podes hacer un metodo que retorne el nombre y media vez lo retorno lo puedes llamar en una variable que sera la que tu coloques concatenada con el String "Bienvenido" & variable
esa cadena la asignas a tu label.
 
#3
te recomiendo que utilizes una variable global declarada en un modulo global y cuando hagas la autentificacion buscas utilizando un where y al momento de decir si existe el usuario q seria pasar al otro formulario en la consulta mandas a llamar al nombre y la asigna a la variable global y esa variable la puedes utilizar en cualquier form y ya estando en el otro form solo pones label1.text=Variable_nombre
 

CompuDoc

Bovino adicto
#4
A mi casi no me gusta usar variables globales y sobre todo menos cuando se usan descripciones que obtienes de campos de bases de datos.
Porque si alguin modifica un valor en la base de datos y tu todavia lo traes en la variable global, estaras mostrando datos incorrectos. Te recomiendo mejor que crees funciones donde obtengas esos valores.

Código:
 Function getSocioNombre(ByVal iSocio As Long) As String

        getSocioNombre = ""

        Dim cnn As New SqlConnection

        Try

            cnn.ConnectionString = My.Settings.strConn.ToString

            cnn.Open()

            Dim cmd As New SqlCommand

            cmd.Connection = cnn
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "cat_socios_get_nombre"

            cmd.Parameters.AddWithValue("@iSocio", iSocio)

            Dim i As String = cmd.ExecuteScalar()

            If i.ToString.Length > 0 Then
                getSocioNombre = i.ToString
            Else
                getSocioNombre = ""
            End If

        Catch ex As Exception
            Call ErrorMsg(ex)
            getSocioNombre = ""

        Finally
            cnn.Close()
            cnn.Dispose()
            cnn = Nothing
        End Try
    End Function
Remplaza esto
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT Nombre FROM cat_socios WHERE IDSocio = " & iSocio

Para que puedas utilizar el string de SQL, ya que yo uso stored procedures.
 
#5
Ok, gracias a todos por sus respuestas... intentaré hacerlo con todos los métodos y les comento que tal me fué...

te recomiendo que utilizes una variable global declarada en un modulo global y cuando hagas la autentificacion buscas utilizando un where y al momento de decir si existe el usuario q seria pasar al otro formulario en la consulta mandas a llamar al nombre y la asigna a la variable global y esa variable la puedes utilizar en cualquier form y ya estando en el otro form solo pones label1.text=Variable_nombre
como haría aquí para llamar al nombre?... cuando hago una sentencia en SQL, si me encuentra el nombre... el problema es que no sé como colocarlo en el form del visual... :cute:

A mi casi no me gusta usar variables globales y sobre todo menos cuando se usan descripciones que obtienes de campos de bases de datos.
Porque si alguin modifica un valor en la base de datos y tu todavia lo traes en la variable global, estaras mostrando datos incorrectos. Te recomiendo mejor que crees funciones donde obtengas esos valores.

Código:
 Function getSocioNombre(ByVal iSocio As Long) As String
 
        getSocioNombre = ""
 
        Dim cnn As New SqlConnection
 
        Try
 
            cnn.ConnectionString = My.Settings.strConn.ToString
 
            cnn.Open()
 
            Dim cmd As New SqlCommand
 
            cmd.Connection = cnn
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "cat_socios_get_nombre"
 
            cmd.Parameters.AddWithValue("@iSocio", iSocio)
 
            Dim i As String = cmd.ExecuteScalar()
 
            If i.ToString.Length > 0 Then
                getSocioNombre = i.ToString
            Else
                getSocioNombre = ""
            End If
 
        Catch ex As Exception
            Call ErrorMsg(ex)
            getSocioNombre = ""
 
        Finally
            cnn.Close()
            cnn.Dispose()
            cnn = Nothing
        End Try
    End Function
Remplaza esto
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT Nombre FROM cat_socios WHERE IDSocio = " & iSocio

Para que puedas utilizar el string de SQL, ya que yo uso stored procedures.

con esa línea: "cmd.Parameters.AddWithValue("@iSocio", iSocio)" no se estaría agragando el nombre a mi tabla de sql? es que no entendí muy bien...
 
#6
ok muy fácil, ya guardas la variable user en un String, la mandas al from de Bienvenida.

ejemplo:Usuario: [Label1] Pass: [label4]
dim guarda as string
guarda=label1
guarda = formBienvenida.label1.caption
 
Arriba