SlideShare una empresa de Scribd logo
1 de 4
Programación Científica: Visual.Net
Unidad V

Leer (Buscar) Modificar Eliminar                  Agregar
Private Sub Leerlo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Leer.Click
        Dim sql As New MySql

        Dim Dt As System.Data.DataTable
        Dt = sql.LEER("SELECT * FROM Tiposdoc")
        Dim A As String

        If Dt.Rows.Count = 0 Then
            MsgBox("Registro NO ENCONTRADO")

             Exit Sub
        Else
            'LOS RESULTADOS QUEDAN EN DT
            'Cada columna de la tabla se referncia en
            'Dt.Rows(numero de fila).ItemArray(numero de
            columna).toString
            ' Ejemplo: Dt.Rows(0).ItemArray(0).ToString
             'Seria la primer fila y columna encontrada

              'En cambio si deseamos recorrer la tabla para cargar un combo
              For x = 0 To Dt.Rows.Count - 1
                  A = Dt.Rows(x).ItemArray(0).ToString

            Next x
        End If
    End Sub

    Private Sub modificar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Modificar.Click
        Dim sql As New MySql

        Dim res As Integer = sql.INSERT_UPDATE_DELETE("UPDATE tiposdoc
SET descripcion = 'nada' WHERE id= 1")
        If res = 0 Then
            MsgBox("No pude MODIFICAR EL REGISTRO")
        End If

    End Sub

    Private Sub eliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Eliminar.Click
        Dim sql As New MySql
        Dim res As Integer = sql.INSERT_UPDATE_DELETE("DELETE FROM
Tiposdoc WHERE id = 1")
        If res = 0 Then
            MsgBox("No pude BORRAR EL REGISTRO")
        End If

    End Sub

    Private Sub agregar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Agregar.Click
        Dim sql As New MySql


Unidad V
Programación Científica: Visual.Net
Unidad V

        Dim res As Integer = sql.INSERT_UPDATE_DELETE("INSERT INTO
tiposdoc (nombres columnas separados por ,) VALUES(' " & valor para
columna & "',valor,valor)")

    End Sub



                           La Clase MySql
Imports System.Data
Imports MySql.Data.MySqlClient

Public Class MySql

    Dim ConStr As String =
"server=localhost;uid=root;password=gabriel1;database=General"
    'instanciamos un objeto conexion
    'y le pasamos de parametro la variable con la cadena
    Dim Con As New MySqlConnection(ConStr)
    'Instrucción a ejecutar

     Public Function LEER(ByVal Str_Sql As String) As DataTable
         'creamos el objeto comando y le pasamos el parámetro que contiene
la query y la conexion
         Dim Comando As New MySqlCommand(Str_Sql, Con)
         'Try para capturar los errores
         Try
             'antes de abrir conexión nos aseguramos que no exista
conexión establecida previa
             If Not Con Is Nothing Then
                 Con.Close()
             End If
             'abrimos conexión
             Con.Open()
             'declaramos la variable de tipo entero que contendrá las
filas afectadas y ejecutamos
             'el comando
             Dim Dt As New DataTable
             'adaptador que sirve de enlace intermedio entre la aplicación
y la
             'base de datos
             Dim Da As New MySqlDataAdapter(Str_Sql, Con)
             Dim res As Integer = Comando.ExecuteNonQuery()
             Dim Cmd As New MySqlCommandBuilder(Da)
             'llenamos la tabla
             Da.Fill(Dt)
             Return Dt
             Dt.Clear()
         Catch ex As Exception
             Dim Dt As New DataTable
             Return Dt
             MsgBox(ex.Message)
         Finally
             'cerramos la conexión
             Con.Close()



Unidad V
Programación Científica: Visual.Net
Unidad V

            'y esto es muy importante, el objeto comando que habiamos
creado
            'lo eliminamos de la memoria
            Comando = Nothing
            'finalizamos la captura de errores
        End Try
    End Function

    Public Function INSERT_UPDATE_DELETE(ByVal Str_Sql As String) As
String
        ' NOTA: en res devolvemos el nº de filas afectadas si es correcto
o
        '       cero si no pudimos insertar
        '
        '       res debería consultarse luego de invocar la función
        '       forma de uso: dim res as integer =
INSERT_UPDATE_DELETE("LA INSTRUCCION SQL")
        '                     if res = 0 then
        '                         MsgBox ("No pude ejecutar la
instrucción SQL")
        '                     end if

         'creamos el objeto comando y le pasamos el parámetro que contiene
la query y la conexion
         Dim Comando As New MySqlCommand(Str_Sql, Con)
         'Try para capturar los errores
         Try
             'antes de abrir conexión nos aseguramos que no exista
conexión establecida previa
             If Not Con Is Nothing Then
                  Con.Close()
             End If
             'abrimos conexión
             Con.Open()
             'adaptador que sirve de enlace intermedio entre la aplicación
y la
             'base de datos
             Dim Da As New MySqlDataAdapter(Str_Sql, Con)
             Dim res As Integer = Comando.ExecuteNonQuery()
             Return res.ToString
         Catch ex As Exception
             MsgBox(ex.Message)
             Dim Res As Integer = 0
             Return Res
         Finally
             'cerramos la conexión
             Con.Close()
             'y esto es muy importante, el objeto comando que habiamos
creado
             'lo eliminamos de la memoria
             Comando = Nothing
             'finalizamos la captura de errores
         End Try
     End Function

    Public Function BACKUP(ByVal archivo As String) As Boolean



Unidad V
Programación Científica: Visual.Net
Unidad V

        Dim Dt As System.Data.DataTable
        Dt = LEER("SELECT * FROM backup WHERE fecha = '" & archivo & "'")
        If Dt.Rows.Count = 0 Then
            Dim x As String
            Dim comando As String
            x =
My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINESOFTWAREMySQL ABMYSQL
Server 5.0", "Location", 0)
            comando = x & "binmysqldump --user=root --password=mysql
--database base -r c:" & archivo & ".sql"
            Dim ProcId As Integer = Shell(comando, AppWinStyle.Hide,
True)
            If ProcId >= 0 Then
                 Dim res As Integer = INSERT_UPDATE_DELETE("INSERT INTO
backup (fecha) VALUES ('" & archivo & "')")
                 If res = 0 Then
                     MsgBox("No pude ejecutar el INSERT del backup")
                 End If
            Else
                 Return False
                 Exit Function
            End If
        End If
        Return True
    End Function

End Class



Agregar Referencia MysqlData.dll al proyecto




Unidad V

Más contenido relacionado

La actualidad más candente

Aplication
AplicationAplication
Aplication
wouyrmz
 

La actualidad más candente (19)

Ajax
AjaxAjax
Ajax
 
Manual fragmentacion
Manual fragmentacionManual fragmentacion
Manual fragmentacion
 
Trabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetTrabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.Net
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Sql connection
Sql connectionSql connection
Sql connection
 
Statement
StatementStatement
Statement
 
Aplication
AplicationAplication
Aplication
 
Codigo asp aplicacion asignatura
Codigo asp aplicacion asignaturaCodigo asp aplicacion asignatura
Codigo asp aplicacion asignatura
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capas
 
Statement
StatementStatement
Statement
 
Sql dataadapter
Sql dataadapterSql dataadapter
Sql dataadapter
 
10. consumiendo datos
10. consumiendo datos10. consumiendo datos
10. consumiendo datos
 
Buenas
BuenasBuenas
Buenas
 
Carlos eduardo, documento de aplicacion en android
Carlos eduardo, documento de aplicacion en androidCarlos eduardo, documento de aplicacion en android
Carlos eduardo, documento de aplicacion en android
 
Objeto command
Objeto commandObjeto command
Objeto command
 
Connection en Java
Connection en JavaConnection en Java
Connection en Java
 
Guia programacon formulario cambiar clave
Guia programacon formulario cambiar claveGuia programacon formulario cambiar clave
Guia programacon formulario cambiar clave
 
Guia programacion acceso al asistema
Guia programacion  acceso al asistemaGuia programacion  acceso al asistema
Guia programacion acceso al asistema
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 

Destacado

Saludo navidad 2012
Saludo navidad 2012Saludo navidad 2012
Saludo navidad 2012
gfgonzalo
 
Linea de tiempo electronico 4°H
Linea de tiempo electronico 4°HLinea de tiempo electronico 4°H
Linea de tiempo electronico 4°H
daviiluna
 
Fase planificación investigadores virtuales
Fase planificación investigadores virtualesFase planificación investigadores virtuales
Fase planificación investigadores virtuales
Mercedes Mendoza
 
Presentacion tallergridpki
Presentacion tallergridpkiPresentacion tallergridpki
Presentacion tallergridpki
Javier Diaz
 
Evaluaciones y nivelaciones
Evaluaciones y nivelacionesEvaluaciones y nivelaciones
Evaluaciones y nivelaciones
mabesierradiaz
 
Cd 19 7 1 parte
Cd 19 7 1 parteCd 19 7 1 parte
Cd 19 7 1 parte
camaracial
 
Trampas de la toma de decisiones
Trampas de la toma de decisionesTrampas de la toma de decisiones
Trampas de la toma de decisiones
nedglymujica
 

Destacado (20)

Medembadol
MedembadolMedembadol
Medembadol
 
Saludo navidad 2012
Saludo navidad 2012Saludo navidad 2012
Saludo navidad 2012
 
Linea de tiempo electronico 4°H
Linea de tiempo electronico 4°HLinea de tiempo electronico 4°H
Linea de tiempo electronico 4°H
 
Nits d'Estiu 2013
Nits d'Estiu 2013Nits d'Estiu 2013
Nits d'Estiu 2013
 
Fase planificación investigadores virtuales
Fase planificación investigadores virtualesFase planificación investigadores virtuales
Fase planificación investigadores virtuales
 
Prototipos calculadora
Prototipos calculadoraPrototipos calculadora
Prototipos calculadora
 
IRC
IRCIRC
IRC
 
Untitled
UntitledUntitled
Untitled
 
P1 minerva zavalza
P1 minerva zavalzaP1 minerva zavalza
P1 minerva zavalza
 
Presentacion tallergridpki
Presentacion tallergridpkiPresentacion tallergridpki
Presentacion tallergridpki
 
Deber de quimica luis miguel naula
Deber de quimica luis miguel naulaDeber de quimica luis miguel naula
Deber de quimica luis miguel naula
 
Evaluaciones y nivelaciones
Evaluaciones y nivelacionesEvaluaciones y nivelaciones
Evaluaciones y nivelaciones
 
Catalogo 2012 empresas
Catalogo 2012   empresasCatalogo 2012   empresas
Catalogo 2012 empresas
 
Ciencias sociales cultura
Ciencias sociales culturaCiencias sociales cultura
Ciencias sociales cultura
 
Efectos de animación y transición
Efectos de animación y transiciónEfectos de animación y transición
Efectos de animación y transición
 
4220 logistica dfi_cedritos
4220 logistica dfi_cedritos4220 logistica dfi_cedritos
4220 logistica dfi_cedritos
 
Actor darinel pineda
Actor darinel pinedaActor darinel pineda
Actor darinel pineda
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Cd 19 7 1 parte
Cd 19 7 1 parteCd 19 7 1 parte
Cd 19 7 1 parte
 
Trampas de la toma de decisiones
Trampas de la toma de decisionesTrampas de la toma de decisiones
Trampas de la toma de decisiones
 

Similar a Conexion mysql y usos

Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
jameszx
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
jameszx
 
consultas de visual estudio sistema de ventas
 consultas de visual estudio  sistema de  ventas consultas de visual estudio  sistema de  ventas
consultas de visual estudio sistema de ventas
Group Lliuya
 

Similar a Conexion mysql y usos (20)

Codigo proceso
Codigo procesoCodigo proceso
Codigo proceso
 
Codigo tarea deposito
Codigo tarea depositoCodigo tarea deposito
Codigo tarea deposito
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
OBJETO SQLCOMMAND.
OBJETO SQLCOMMAND.OBJETO SQLCOMMAND.
OBJETO SQLCOMMAND.
 
Clase sqldatareader
Clase sqldatareaderClase sqldatareader
Clase sqldatareader
 
Separata java script
Separata java scriptSeparata java script
Separata java script
 
Guia no2 ado.net
Guia no2 ado.netGuia no2 ado.net
Guia no2 ado.net
 
Manual tecnico
Manual tecnicoManual tecnico
Manual tecnico
 
Proyecto de un formulario de facturacion
Proyecto de un formulario de facturacionProyecto de un formulario de facturacion
Proyecto de un formulario de facturacion
 
Guia n2 tam 2009 1
Guia n2 tam 2009 1Guia n2 tam 2009 1
Guia n2 tam 2009 1
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
 
Guia no1 ado.net
Guia no1 ado.netGuia no1 ado.net
Guia no1 ado.net
 
consultas de visual estudio sistema de ventas
 consultas de visual estudio  sistema de  ventas consultas de visual estudio  sistema de  ventas
consultas de visual estudio sistema de ventas
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Conexion Visual
Conexion Visual Conexion Visual
Conexion Visual
 
Dprn3 u3 a1_hehm
Dprn3 u3 a1_hehmDprn3 u3 a1_hehm
Dprn3 u3 a1_hehm
 

Último

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Último (20)

Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 

Conexion mysql y usos

  • 1. Programación Científica: Visual.Net Unidad V Leer (Buscar) Modificar Eliminar Agregar Private Sub Leerlo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Leer.Click Dim sql As New MySql Dim Dt As System.Data.DataTable Dt = sql.LEER("SELECT * FROM Tiposdoc") Dim A As String If Dt.Rows.Count = 0 Then MsgBox("Registro NO ENCONTRADO") Exit Sub Else 'LOS RESULTADOS QUEDAN EN DT 'Cada columna de la tabla se referncia en 'Dt.Rows(numero de fila).ItemArray(numero de columna).toString ' Ejemplo: Dt.Rows(0).ItemArray(0).ToString 'Seria la primer fila y columna encontrada 'En cambio si deseamos recorrer la tabla para cargar un combo For x = 0 To Dt.Rows.Count - 1 A = Dt.Rows(x).ItemArray(0).ToString Next x End If End Sub Private Sub modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Modificar.Click Dim sql As New MySql Dim res As Integer = sql.INSERT_UPDATE_DELETE("UPDATE tiposdoc SET descripcion = 'nada' WHERE id= 1") If res = 0 Then MsgBox("No pude MODIFICAR EL REGISTRO") End If End Sub Private Sub eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Eliminar.Click Dim sql As New MySql Dim res As Integer = sql.INSERT_UPDATE_DELETE("DELETE FROM Tiposdoc WHERE id = 1") If res = 0 Then MsgBox("No pude BORRAR EL REGISTRO") End If End Sub Private Sub agregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Agregar.Click Dim sql As New MySql Unidad V
  • 2. Programación Científica: Visual.Net Unidad V Dim res As Integer = sql.INSERT_UPDATE_DELETE("INSERT INTO tiposdoc (nombres columnas separados por ,) VALUES(' " & valor para columna & "',valor,valor)") End Sub La Clase MySql Imports System.Data Imports MySql.Data.MySqlClient Public Class MySql Dim ConStr As String = "server=localhost;uid=root;password=gabriel1;database=General" 'instanciamos un objeto conexion 'y le pasamos de parametro la variable con la cadena Dim Con As New MySqlConnection(ConStr) 'Instrucción a ejecutar Public Function LEER(ByVal Str_Sql As String) As DataTable 'creamos el objeto comando y le pasamos el parámetro que contiene la query y la conexion Dim Comando As New MySqlCommand(Str_Sql, Con) 'Try para capturar los errores Try 'antes de abrir conexión nos aseguramos que no exista conexión establecida previa If Not Con Is Nothing Then Con.Close() End If 'abrimos conexión Con.Open() 'declaramos la variable de tipo entero que contendrá las filas afectadas y ejecutamos 'el comando Dim Dt As New DataTable 'adaptador que sirve de enlace intermedio entre la aplicación y la 'base de datos Dim Da As New MySqlDataAdapter(Str_Sql, Con) Dim res As Integer = Comando.ExecuteNonQuery() Dim Cmd As New MySqlCommandBuilder(Da) 'llenamos la tabla Da.Fill(Dt) Return Dt Dt.Clear() Catch ex As Exception Dim Dt As New DataTable Return Dt MsgBox(ex.Message) Finally 'cerramos la conexión Con.Close() Unidad V
  • 3. Programación Científica: Visual.Net Unidad V 'y esto es muy importante, el objeto comando que habiamos creado 'lo eliminamos de la memoria Comando = Nothing 'finalizamos la captura de errores End Try End Function Public Function INSERT_UPDATE_DELETE(ByVal Str_Sql As String) As String ' NOTA: en res devolvemos el nº de filas afectadas si es correcto o ' cero si no pudimos insertar ' ' res debería consultarse luego de invocar la función ' forma de uso: dim res as integer = INSERT_UPDATE_DELETE("LA INSTRUCCION SQL") ' if res = 0 then ' MsgBox ("No pude ejecutar la instrucción SQL") ' end if 'creamos el objeto comando y le pasamos el parámetro que contiene la query y la conexion Dim Comando As New MySqlCommand(Str_Sql, Con) 'Try para capturar los errores Try 'antes de abrir conexión nos aseguramos que no exista conexión establecida previa If Not Con Is Nothing Then Con.Close() End If 'abrimos conexión Con.Open() 'adaptador que sirve de enlace intermedio entre la aplicación y la 'base de datos Dim Da As New MySqlDataAdapter(Str_Sql, Con) Dim res As Integer = Comando.ExecuteNonQuery() Return res.ToString Catch ex As Exception MsgBox(ex.Message) Dim Res As Integer = 0 Return Res Finally 'cerramos la conexión Con.Close() 'y esto es muy importante, el objeto comando que habiamos creado 'lo eliminamos de la memoria Comando = Nothing 'finalizamos la captura de errores End Try End Function Public Function BACKUP(ByVal archivo As String) As Boolean Unidad V
  • 4. Programación Científica: Visual.Net Unidad V Dim Dt As System.Data.DataTable Dt = LEER("SELECT * FROM backup WHERE fecha = '" & archivo & "'") If Dt.Rows.Count = 0 Then Dim x As String Dim comando As String x = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINESOFTWAREMySQL ABMYSQL Server 5.0", "Location", 0) comando = x & "binmysqldump --user=root --password=mysql --database base -r c:" & archivo & ".sql" Dim ProcId As Integer = Shell(comando, AppWinStyle.Hide, True) If ProcId >= 0 Then Dim res As Integer = INSERT_UPDATE_DELETE("INSERT INTO backup (fecha) VALUES ('" & archivo & "')") If res = 0 Then MsgBox("No pude ejecutar el INSERT del backup") End If Else Return False Exit Function End If End If Return True End Function End Class Agregar Referencia MysqlData.dll al proyecto Unidad V