Como Primer articulo que escribo empezare mostrandoles una aplicacion que hara dos cosas a la vez es decir primero nos conectaremos a un server de SQL mediante autenticacion en modo mixto y despues de establecer la conexion haremos un login a la base de datos mediante el empleo de un objeto sqlcommand que utiliza parametros para asi evitar problemas de seguridad en nuestras aplicaciones.
Bueno aca les muestro la captura del formulario para que se orienten mejor.
vemos que necesitamos 4 textbox 1 checkbox y tres botones de comando,no creo que valga mas explicacion ya que somos expertos a la hora de crear interfaces de usuario jeje, bueno vamos a lo que nos interesa.
Como Primer paso crearemos un clase llamada Conexion.vb que sera la que nos permita conectarnos al servidor y selecciobar nuestra base de datos. el codigo es el siguiente :
Imports System
Imports System.Data
Imports System.Data.SqlClient
'comenzamos importando los espacios de nombres para conectarnos a sql server
Public Class Conexion
'creamos las propiedadesde la clase conexion de tipo privados
Private con As SqlConnection
Private server As String
Private base As String
Private au_win As Boolean
'asignamos a vada propiedad los valores correspondientes mediante procediemientos property, si deseas puedes de realizar algunas validaciones necesarias, eso corre por tu cuenta.
Public Property conex() As SqlConnection
Get
Return con
End Get
Set(ByVal value As SqlConnection)
con = value
End Set
End Property
Public Property autentica() As Boolean
Get
Return au_win
End Get
Set(ByVal value As Boolean)
au_win = value
End Set
End Property
Public Property serv() As String
Get
Return server
End Get
Set(ByVal value As String)
server = value
End Set
End Property
Public Property base_datos() As String
Get
Return base
End Get
Set(ByVal value As String)
base = value
End Set
End Property
'despues de terminar de declarar nuestras propiedades creamos una funcion llamada conectarse de tipo boolean
Public Function conectarse(ByVal serv As String, ByVal bas As String, ByVal a_w As Boolean, & _ ByVal control As Label) As Boolean
'inicializamos la conexion
con = New SqlConnection
'si el aparametro a_w es true entonces hacemos conexion usando seguridad integrada
If a_w = True Then
con.ConnectionString ="data source=" & serv & "; initial catalog=" & bas &";integrated security=true;"
End If
Try
'abrimos la conexion
con.Open()
Catch excepcion As SqlException
MessageBox.Show("source" & excepcion.Source.ToString)
MessageBox.Show("Number" & excepcion.Number.ToString)
End Try
' le pasamos al label5 el string que le muestra el estado actual de la conexion
control.Text = "el estado de la conexion es " & con.State.ToString
Return True
End Function
End Class
vemos que el lo unico nuevo que vemos es el uso de una funcion de conexion que hace la conexion con las propiedades de la clase de conexion y devuelve un valor boleano que identifica el estado de la conexion actual.
continuando con el codigo necesitamos crear otra clase llamada login que se encargue de hacer la validacion con la conexion que realizada anteriormente para ello el codigo necesario es el el siguiente:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class login
Inherits Conexion
'declarammos las propiedades de la clase login
Private alumno As String
Private codigo As Integer
Public Property alum() As String
Get
Return alumno
End Get
Set(ByVal value As String)
alumno = value
End Set
End Property
Public Property cod() As Integer
Get
Return codigo
End Get
Set(ByVal value As Integer)
codigo = value
End Set
End Property
'creamos un procedimiento sub que haga la busqueda en la Base de datos para lo cual debemos especificar parametros necesarios para su funcionamiento
Public Sub buscar(ByVal alum As String, ByVal cod As Integer, ByVal cone As SqlConnection)
' chequemos que la conexion este abierta
If cone.State = ConnectionState.Closed Then
MessageBox.Show("La conexion esta Cerrada")
Exit Sub
End If
'declaramos un objeto command
Dim cmd As SqlCommand
'declaramos un string para hacer la consulta que utiliza parametros
Dim sql As String = "select count(codigo) from alumnos where Nombre=@nombre and codigo=@codigo"
' instaciamos el objeto command y le asignamos el string de consulta y le indicamos la conexion a 'usar
cmd = New SqlCommand(sql, cone)
'declaramos el objeto dataadapter
Dim da As New SqlDataAdapter(cmd)
'creamos los parametros que usara el objeto dataadapter
da.SelectCommand.Parameters.Add(New SqlParameter("@nombre", SqlDbType.VarChar, 50, "Nombre"))
da.SelectCommand.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int, 4, "@codigo"))
da.SelectCommand.Parameters(0).Value = alum
da.SelectCommand.Parameters(1).Value = cod
Dim total As Integer
'ejecutamos la consulta
total = da.SelectCommand.ExecuteScalar()
If total = 1 Then
' indicamos el exito del login
MessageBox.Show("Alumno logueado")
Else
' sino existe el alumno mandamosun mensaje
MessageBox.Show("Alumno no logueado")
End If
End Sub
End Class
ya tenemos listo el codigo ahora solo nos falta trabajar a nivel de formulario para ello debemos declarar las dos clases en el formulario e instanciarlas
Public cone As Conexion = New Conexion
Public log As login = New login
seguidamente en el boton conectarse escribimos el siguiente codigo que es el que usamos para conectarnos al servidor de la base de datos
cone.serv = TextBox1.Text.Trim
cone.base_datos = TextBox2.Text.Trim
cone.autentica = CheckBox1.Checked
cone.conectarse(cone.serv, cone.base_datos, cone.autentica, Label5)
Button1.Enabled = True
Una vez que tenemos establecida nuestra conexion podemos hacer nuestra validacion en la BBDD
para ello en el boton donde observas la lupa pon el siguiente codigo
log.alum = TextBox3.Text
log.cod = CType(TextBox4.Text, Integer)
If log.alum.Length = 0 Then
Exit Sub
End If
If log.cod = 0 Then
Exit Sub
End If
log.buscar(log.alum, log.cod, cone.conex)
aca les dejo el resultado del resultado
Bueno espero que te halla sido de utilidad. si deseas el codigo me mandas un mail a larg2p@hotmail.com y te lo mando sin problemas, bueno hasta otra entrada.
Luis Ramirez
Net Developer Specialist
DCE2005 2 estrellas
Bueno aca les muestro la captura del formulario para que se orienten mejor.
vemos que necesitamos 4 textbox 1 checkbox y tres botones de comando,no creo que valga mas explicacion ya que somos expertos a la hora de crear interfaces de usuario jeje, bueno vamos a lo que nos interesa.
Como Primer paso crearemos un clase llamada Conexion.vb que sera la que nos permita conectarnos al servidor y selecciobar nuestra base de datos. el codigo es el siguiente :
Imports System
Imports System.Data
Imports System.Data.SqlClient
'comenzamos importando los espacios de nombres para conectarnos a sql server
Public Class Conexion
'creamos las propiedadesde la clase conexion de tipo privados
Private con As SqlConnection
Private server As String
Private base As String
Private au_win As Boolean
'asignamos a vada propiedad los valores correspondientes mediante procediemientos property, si deseas puedes de realizar algunas validaciones necesarias, eso corre por tu cuenta.
Public Property conex() As SqlConnection
Get
Return con
End Get
Set(ByVal value As SqlConnection)
con = value
End Set
End Property
Public Property autentica() As Boolean
Get
Return au_win
End Get
Set(ByVal value As Boolean)
au_win = value
End Set
End Property
Public Property serv() As String
Get
Return server
End Get
Set(ByVal value As String)
server = value
End Set
End Property
Public Property base_datos() As String
Get
Return base
End Get
Set(ByVal value As String)
base = value
End Set
End Property
'despues de terminar de declarar nuestras propiedades creamos una funcion llamada conectarse de tipo boolean
Public Function conectarse(ByVal serv As String, ByVal bas As String, ByVal a_w As Boolean, & _ ByVal control As Label) As Boolean
'inicializamos la conexion
con = New SqlConnection
'si el aparametro a_w es true entonces hacemos conexion usando seguridad integrada
If a_w = True Then
con.ConnectionString ="data source=" & serv & "; initial catalog=" & bas &";integrated security=true;"
End If
Try
'abrimos la conexion
con.Open()
Catch excepcion As SqlException
MessageBox.Show("source" & excepcion.Source.ToString)
MessageBox.Show("Number" & excepcion.Number.ToString)
End Try
' le pasamos al label5 el string que le muestra el estado actual de la conexion
control.Text = "el estado de la conexion es " & con.State.ToString
Return True
End Function
End Class
vemos que el lo unico nuevo que vemos es el uso de una funcion de conexion que hace la conexion con las propiedades de la clase de conexion y devuelve un valor boleano que identifica el estado de la conexion actual.
continuando con el codigo necesitamos crear otra clase llamada login que se encargue de hacer la validacion con la conexion que realizada anteriormente para ello el codigo necesario es el el siguiente:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class login
Inherits Conexion
'declarammos las propiedades de la clase login
Private alumno As String
Private codigo As Integer
Public Property alum() As String
Get
Return alumno
End Get
Set(ByVal value As String)
alumno = value
End Set
End Property
Public Property cod() As Integer
Get
Return codigo
End Get
Set(ByVal value As Integer)
codigo = value
End Set
End Property
'creamos un procedimiento sub que haga la busqueda en la Base de datos para lo cual debemos especificar parametros necesarios para su funcionamiento
Public Sub buscar(ByVal alum As String, ByVal cod As Integer, ByVal cone As SqlConnection)
' chequemos que la conexion este abierta
If cone.State = ConnectionState.Closed Then
MessageBox.Show("La conexion esta Cerrada")
Exit Sub
End If
'declaramos un objeto command
Dim cmd As SqlCommand
'declaramos un string para hacer la consulta que utiliza parametros
Dim sql As String = "select count(codigo) from alumnos where Nombre=@nombre and codigo=@codigo"
' instaciamos el objeto command y le asignamos el string de consulta y le indicamos la conexion a 'usar
cmd = New SqlCommand(sql, cone)
'declaramos el objeto dataadapter
Dim da As New SqlDataAdapter(cmd)
'creamos los parametros que usara el objeto dataadapter
da.SelectCommand.Parameters.Add(New SqlParameter("@nombre", SqlDbType.VarChar, 50, "Nombre"))
da.SelectCommand.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int, 4, "@codigo"))
da.SelectCommand.Parameters(0).Value = alum
da.SelectCommand.Parameters(1).Value = cod
Dim total As Integer
'ejecutamos la consulta
total = da.SelectCommand.ExecuteScalar()
If total = 1 Then
' indicamos el exito del login
MessageBox.Show("Alumno logueado")
Else
' sino existe el alumno mandamosun mensaje
MessageBox.Show("Alumno no logueado")
End If
End Sub
End Class
ya tenemos listo el codigo ahora solo nos falta trabajar a nivel de formulario para ello debemos declarar las dos clases en el formulario e instanciarlas
Public cone As Conexion = New Conexion
Public log As login = New login
seguidamente en el boton conectarse escribimos el siguiente codigo que es el que usamos para conectarnos al servidor de la base de datos
cone.serv = TextBox1.Text.Trim
cone.base_datos = TextBox2.Text.Trim
cone.autentica = CheckBox1.Checked
cone.conectarse(cone.serv, cone.base_datos, cone.autentica, Label5)
Button1.Enabled = True
Una vez que tenemos establecida nuestra conexion podemos hacer nuestra validacion en la BBDD
para ello en el boton donde observas la lupa pon el siguiente codigo
log.alum = TextBox3.Text
log.cod = CType(TextBox4.Text, Integer)
If log.alum.Length = 0 Then
Exit Sub
End If
If log.cod = 0 Then
Exit Sub
End If
log.buscar(log.alum, log.cod, cone.conex)
aca les dejo el resultado del resultado
Bueno espero que te halla sido de utilidad. si deseas el codigo me mandas un mail a larg2p@hotmail.com y te lo mando sin problemas, bueno hasta otra entrada.
Luis Ramirez
Net Developer Specialist
DCE2005 2 estrellas



No hay comentarios:
Publicar un comentario