jueves, 31 de enero de 2013

Instrucciones SQL que se utilizan para interactuar con las base de datos en Vb . Net


El ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework. Es comúnmente usado por los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor de Bases de Datos Relacionales, aunque también puede ser usado para acceder a datos en fuentes no relacionales

Arquitectura
ADO.NET consiste en dos partes primarias:
Data provider
Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server, Access  y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto común de clases de utilidad:


§  Connection: Proporciona una conexión usada para comunicarse con la fuente de datos.
§  Command: Usado para realizar alguna acción en la fuente de datos, como lectura, actualización, o borrado de datos relacionales.
§  Parameter: Describe un simple parámetro para un command. Un ejemplo común es un parámetro para ser usado en un procedimiento almacenado.
§  DataAdapter: "Puente" utilizado para transferir data entre una fuente de datos y un objeto DataSet
§  DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez.
DataSets
Los objetos DataSets, un grupo de clases que describen una simple base de datos relacional en memoria.
§  Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una BD). Puede contener las tablas y las relaciones entre esas tablas.
§  Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas.
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command que han sido iniciados
Datatalbe.fill (dataset,”NobreTabla”)
El método Fill del DataAdapter se usa para llenar un DataSet con los resultados de la consulta realizada
El método Fill utiliza el objeto DataReader de forma implícita para devolver los nombres y tipos de columna utilizados para crear las tablas de DataSet, así como los datos para llenar las filas de las tablas de DataSet.

Instrucciones SQL que se utilizan para interactuar con las base de datos en Vb . Net
INSERTAR (GUARDAR DATOS)
"insert into Nombre_de_tabla (Cod_cod,nombre,) values ('" & txtCodigocobrador.Text & "' ,'" & txtNombre.Text & "')"
En el primer parentesis se colocan los campos que forman la tabla, despues la palabra values (VAlores)y a seguida escribimos los nombre de los controles que contienen los valores a ingresar  tomando en cuanta que estos son escritos en el medio de los siguintes caracteres '" &  & "', quedando de la siguiente forma '" & txtNombre.Text & "'
Ej.:
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGuardar.Click
        'UTILIZAREMOS el control de errores usando la instruccion
        'try
        Try
            'comprobamos nuevamente que la conexion esta cerrada
            'si lo esta la abrimo
            If Not con.State = ConnectionState.Open Then
                con.Open()
            End If
            'luego declaramos un objeto del tipo comando(instrccion)
            Dim cmd As New SqlCommand
            'asignamos la conexion que utilizara el comando
            cmd.Connection = con
            'luego asignamos la cadena de texto del comando
            cmd.CommandText = "insert into usuario (id,nombre,apellido) values ('" & txtCodigo.Text & "','" & txtNombre.Text & "','" & txtApellido.Text & "')"
            'luego ejecutamos la orden del comando mediante el Executenonquery
            cmd.ExecuteNonQuery()
            'si todo esta correcto enviamo un mensaje
            MessageBox.Show("Datos Guardado", "DATOS", MessageBoxButtons.OK, MessageBoxIcon.Information)
            'simularemos el boton limpiar
            cmdLimpiar.PerformClick()
            'mostramos los datos guardado
            MostrarDatos()
            'asignamos el focu al control txtcodigo
            txtCodigo.Focus()
        Catch ex As Exception
            'en esta parte manejamos el error en caso de que se produsca
            MessageBox.Show(ex.Message)
        End Try
    End Sub
UPDATE (ACTUALIZAR)
"update Nombre_de_tabla set Cod_cod='" & txtCodigocobrador.Text & "',nombre='" & txtNombre.Text & "' where Cod_cod=" & txtCodigocobrador.Text

Se utiliza la clausula update (actualizar) seguida del nombre de la tabla,y luego utilizamos la palabra set a seguida del nombre del campo seguido del nombre del control que contiene el valor a actualizar, igualemente entre los caracteres '" &  & "' Ej.: Cod_cod='" & txtCodigocobrador.Text & "'
Recuerden que cada campo con su respectivo valor debe ir separado por una coma.


Private Sub cmdActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdActualizar.Click
        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If
        'declaramso el objeto comando para realizar la accion
        Dim cmd As New SqlCommand
        'asignamos la conexion que se utilizara
        cmd.Connection = con
        'el texto con la accion
        cmd.CommandText = "update usuario set id='" & txtCodigo.Text & "',nombre='" & txtNombre.Text & "',apellido='" & txtApellido.Text & "' where id=" & txtCodigo.Text
        'ejecutamos el comando
        cmd.ExecuteNonQuery()
        'llamamos el boton de limpiar
        cmdLimpiar.PerformClick()
        MessageBox.Show("Datos actualizados")
        MostrarDatos()
        'eejcutamos a ver si todo anda bien hasta aqui
    End Sub


DELETE (Eliminar)

"delete from Nombre_de_tabla where Cod_cod=" & intCod
La instruccion delete segruida la tabla de donse se desea elimkinar el registro y luego la condicion (where) seguida del campo de busqueda pro el cual se desea eliminar


Private Sub cmdEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEliminar.Click

        Try
            If dgVista.Rows.Count > 0 Then
                If dgVista.SelectedRows.Count > 0 Then
                    Dim intID As Integer = dgVista.SelectedRows(0).Cells("id").Value
                    If Not con.State = ConnectionState.Open Then
                        con.Open()
                    End If
                    Dim cmd As New SqlCommand
                    cmd.Connection = con
                    cmd.CommandText = "delete from usuario where id=" & intID
                    cmd.ExecuteNonQuery()
                    MessageBox.Show("Esta seguro de liminar este registro", "Datos irrecuperable", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                    MostrarDatos()
                    con.Close()
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
     
    End Sub


Mostar Datos
Debemos agregar un control Datagridview el cual se llamara  dgVista


Public Sub MostrarDatos()
        'declaramos la variable que nos servira para realizar la consulta
        'esta sera un sqldataadapter
        If Not con.State = ConnectionState.Open Then
            con.Open()
        End If
        Dim dt As New SqlDataAdapter("select * from usuario", con)
        'luego declaramos un dataset que sera el que maneje los datos
        'traidos de la consulta
        Dim ds As New DataSet
        'luego llenamo el dataset utilizando el metodo fill del dataadapter
        dt.Fill(ds, "usuario")
        'luego le asignamos el dataset al datagrid para mostrar los datos
        'que hay hasta el momento
        dgVista.DataSource = ds
        dgVista.DataMember = "usuario"
        'luego cerramos la conexion
        ' con.Close()
        '
    End Sub

REALIZAR UNA BUSQUEDA EN UNA BASE DE DATOS


Private Sub txtBuscar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBuscar.TextChanged

        Try
            If Not con.State = ConnectionState.Open Then
                con.Open()
            End If
            'delcramos el dataadapter con el que se realizara la buscaqueda
            Dim da As New SqlDataAdapter("select * from usuario where nombre like '%" & (txtBuscar.Text) & "%' or apellido like '%" & (txtBuscar.Text) & "%'", con)
            'utilizamos el comodin (%) para que la busqueda se raelice con cualquier coincidencia en el campo
            Dim ds As New DataSet
            da.Fill(ds, "usuario")
            dgVista.DataSource = ds

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub


Moverse por las filas del datagrid

Private Sub dgVista_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgVista.RowHeaderMouseClick
        Try
            ' ha continuacion comprobamos si hay algun regitro cargado en la grilla
            If dgVista.Rows.Count > 0 Then
                'si es mayor que cero es porque hay registros
                'entocnes comprobamos si hay registros seleccioandos
                If dgVista.SelectedRows.Count > 0 Then
                    'delcaramos uan variable para almacenar el valor del campo
                    'principal
                    Dim intId As Integer = dgVista.SelectedRows(0).Cells("id").Value
                    'luego declaramos un datadapter para manejar los diferentes campos
                    Dim da As New SqlDataAdapter("select * from usuario where id=" & intId, con)
                    'declaramso un datatable para manipular cada uno de los campos
                    Dim dt As New DataTable
                    'llenamos el datatable con el datadapter
                    da.Fill(dt)
                    'asiganamos a cada textbox cada valor de la tabla
                    txtCodigo.Text = dt.Rows(0).Item("id")
                    txtNombre.Text = dt.Rows(0).Item("nombre")
                    txtApellido.Text = dt.Rows(0).Item("apellido")
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            'probamos a  ver si todo esta correcto
        End Try


No hay comentarios:

Publicar un comentario