Herramientas Informaticas

Autor: juliocesar20200413 Página 19 de 139

Desarrollador web apasionado y gusto por la buena musica

Como ejecutar una consulta MySQL y ciclo While en Visual Basic 2022

Ya hemos visto como realizar la conexión a la base de datos MySQL / MariaDB además de conectarnos con una cadena de conexión dinámica ahora veremos como realizar una consulta a una table y leer los datos con el ciclo While.

Estamos en en el archivo modulo crearModelo.vb justo despues de abrir la conexión declaramos la variable comando de tipo mysqlcommand, y ejecutaremos la siguiente consulta “describe proveedores;” la cual nos regresa los campos de la tabla, quedaría de la siguiente forma.

 Dim comando = New MySqlConnector.MySqlCommand("describe proveedores;", connection)

Posteriormente guardamos el resultado usando la función executeReader

Dim resultado = comando.ExecuteReader

En resultado tenemos guardado todos los renglones y columnas que nos regreso la consulta “describe proveedores;” para leerlos y mostrarlos en un MessageBox necesitaremos recorrerlos mediante un ciclo while y lo hacemos de la siguiente forma.

   While (resultado.Read)

      MessageBox.Show(resultado.GetString(0))

   End While
Vemos como el messageBox se muestra dependiendo del numero de columnas que tenga la tabla a la cual le hicimos el describe

Al final el código quedaría de la siguiente forma

'IMPORTAMOS LAS LIBRERIAS NECESARIAS PARA LA CONEXIÓN A MYSQL/MARIADB
Imports MySqlConnector.MySqlConnection

'EMPIEZA EL MODULO
Module crearModelo

    ' CON PUBLIC SUB CREAMOS PROCEDIMIENTOS
    Public Sub generaModelo()

        ' VARIABLES PARA LA CONEXIÓN
        Dim strServidor As String
        Dim strBaseDeDatos As String
        Dim strUsuario As String
        Dim strContra As String


        'OBTENEMOS LOS DATOS DE CONFIGURACIÖN DEL REGISTRO DE WINDOWS PREVIAMENTE GUARDADAS
        If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing) Is Nothing Then
            strServidor = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing).ToString()
            strBaseDeDatos = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Nothing).ToString()
            strUsuario = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Nothing).ToString()
            strContra = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Nothing).ToString()
        Else

            MsgBox("No se han capturado la conexión a la base de datos")
            Return

        End If


        ' METEMOS LA CADENA DE CONEXIÓN EN UNA VARIABLE
        Dim cadenaConexion = "Server=" & strServidor & ";User ID=" & strUsuario & ";Password=" & strContra & ";Database=" & strBaseDeDatos

        ' CREAMOS LA CONEXIÓN CON LA CADENA DE CONEXIÓN
        Dim connection = New MySqlConnector.MySqlConnection(cadenaConexion)

        Try

            ' SI SE ABRE LA CONEXIÓN MANDAMOS MENSAJE
            connection.Open()


            Dim comando = New MySqlConnector.MySqlCommand("describe proveedores;", connection)

            Dim resultado = comando.ExecuteReader

            While (resultado.Read)

                MessageBox.Show(resultado.GetString(0))


            End While


            MsgBox("Conexion Correcta")

        Catch ex As Exception
            ' SI NO SE ABRE LA CONEXIÓN MANDAMOS MENSAJE DE ERROR
            MsgBox("ERROR " & ex.Message)

            Exit Sub
        End Try

    End Sub

End Module

Creando Cadena de Conexión dinámica con Variables de Configuración #8

Hasta este punto ya hemos creado la conexión con una cadena de conexión directa en la cual nosotros ponemos los datos de conexión a la base de de datos directamente, pero sabemos que la conexión del servidor, la base de datos, el usuario y la contraseña pueden estar cambiando, entonces mostraremos como tener una conexión dinámica basada en nuestras variables de configuración guardadas en el registro de Windows.

Nuestro código en el modulo crearModelo quedaría de la siguiente forma.

'IMPORTAMOS LAS LIBRERIAS NECESARIAS PARA LA CONEXIÓN A MYSQL/MARIADB
Imports MySqlConnector.MySqlConnection

'EMPIEZA EL MODULO
Module crearModelo

    ' CON PUBLIC SUB CREAMOS PROCEDIMIENTOS
    Public Sub generaModelo()

        ' VARIABLES PARA LA CONEXIÓN
        Dim strServidor As String
        Dim strBaseDeDatos As String
        Dim strUsuario As String
        Dim strContra As String


        'OBTENEMOS LOS DATOS DE CONFIGURACIÖN DEL REGISTRO DE WINDOWS PREVIAMENTE GUARDADAS
        If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing) Is Nothing Then
            strServidor = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing).ToString()
            strBaseDeDatos = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Nothing).ToString()
            strUsuario = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Nothing).ToString()
            strContra = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Nothing).ToString()
        Else

            MsgBox("No se han capturado la conexión a la base de datos")
            Return

        End If


        ' METEMOS LA CADENA DE CONEXIÓN EN UNA VARIABLE
        Dim cadenaConexion = "Server=" & strServidor & ";User ID=" & strUsuario & ";Password=" & strContra & ";Database=" & strBaseDeDatos

        ' CREAMOS LA CONEXIÓN CON LA CADENA DE CONEXIÓN
        Dim connection = New MySqlConnector.MySqlConnection(cadenaConexion)

        Try

            ' SI SE ABRE LA CONEXIÓN MANDAMOS MENSAJE
            connection.Open()
            MsgBox("Conexion Correcta")

        Catch ex As Exception
            ' SI NO SE ABRE LA CONEXIÓN MANDAMOS MENSAJE DE ERROR
            MsgBox("ERROR " & ex.Message)

            Exit Sub
        End Try

    End Sub

End Module
Nos aseguramos de que tenemos los datos de conexión a la base de datos bien capturados
Hacemos la prueba y si sale el siguiente mensaje significa que la conexión se realizo correctamente

CONEXIÓN VISUAL BASIC 2022 CON MYSQL

En la publicación anterior vimos como hacer el diseño de la ventana para generar el catalogo ahora nos toca leer la tabla para ver que campos contiene y así crear todos los archivos necesarios para crear el catalogo. Antes de leer los datos es necesario conectarnos a la base de datos de MySQL o MariaDB, así que en esta publicación veremos como conectarnos a a MySQL con Visual Basic 2022

Primero nos vamos a administrar paquetes Nutgets para solución e instalamos MySQLConector por Bradley Grainger
Creamos la carpeta módulos que nos servirá para guardar funciones y procedimientos necesarios para el proyecto que en nuestro caso será las conexiones
Creamos un modulo con nombre creaModelo

'IMPORTAMOS LAS LIBRERIAS NECESARIAS PARA LA CONEXIÓN A MYSQL/MARIADB
Imports MySqlConnector.MySqlConnection

'EMPIEZA EL MODULO
Module creaModelo
' CON PUBLIC SUB CREAMOS PROCEDIMIENTOS
Public Sub generaModelo()

    ' METEMOS LA CADENA DE CONEXIÓN EN UNA VARIABLE
    Dim cadenaConexion = "Server=127.0.0.1;User ID=root;Password=;Database=pos"

    ' CREAMOS LA CONEXIÓN CON LA CADENA DE CONEXIÓN
    Dim connection = New MySqlConnector.MySqlConnection(cadenaConexion)

    Try

        ' SI SE ABRE LA CONEXIÓN MANDAMOS MENSAJE
        connection.Open()
        MsgBox("Conexion Correcta")

    Catch ex As Exception
        ' SI NO SE ABRE LA CONEXIÓN MANDAMOS MENSAJE DE ERROR
        MsgBox("ERROR " & ex.Message)

        Exit Sub
    End Try

End Sub
End Module
Quedaría de esta forma
    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click

        creaModelo.generaModelo()

        Me.DialogResult = System.Windows.Forms.DialogResult.OK
        Me.Close()
    End Sub

Así quedaría el evento Click

El evento CLICK lo dejamos de esta manera y hacemos la prueba
A la hora de hacer la prueba nos debe arrojar el siguiente mensaje

Y bien en la próxima publicación veremos como usar la variables que guardamos en el registro de Windows para integrarla en la cadena de conexión

Creando ventana “Crear Catálogo”

Ya vimos como usar las funciones registry para guardar las configuraciones de la base de de datos, ahora vamos a crear otra ventana para hacer el generador de catalogos.

Los componentes que vamos a utilizar son los siguientes

  1. textBox
  2. Button
  3. FolderBrowserDialog

Son 3 controles muy simples, de he hecho el componente que no se ha usado anteriormente en es este proyecto es FolderBrowserDialog, este nos permitira elegir la ruta del proyecto JCPOS2021

Creamos el formulario, para ello elegimos cuadro de dialogo y en el nombre le ponemos crearCatalogo.vb
Agregamos los controles de label para poner la etiqueta tabla, agregamos el campo de texto tabla para capturar la tabla, agregamos el boton btnRuta para mandar llamar el folderBrowserDialog y agregamos bdlRuta que será el folderBrowser dialog
Ahora en el evento Click del boton btnRuta agregamos para que se ejecute el dialogo para escoger la carpeta, posteriormente asignaremos la ruta seleccionada al campo de texto txtRuta
Al darle Click nos arrojara el dialogo para buscar la carpeta del proyecto
Al seleccionar la carpeta vemos como se pone la ruta en el campo de texto txtRuta

CONEXIÓN PHP 8.1 CON PDO SQL SERVER EN WINDOWS 10

En algunas ocasiones es necesario conectarnos por medio de PHP8.1 a la base de datos de SQL SERVER.

Aunque esta función no esta activada por default se puede activar, solo tenemos que descargar las siguientes librerías.

Descomprimimos y en mi caso son las que están en la carpeta x64
Ponemos las librerías en la carpeta EXT en donde están los archivos de PHP en mi caso la ruta es la que se ve en la imagen
En el archivo de configuracion que normalmente se llama php.ini agregamos las siguientes lineas extension=php_pdo_sqlsrv_81_nts
extension=php_sqlsrv_81_nts.dll
Renombramos la carpeta a PHP
Si corremos el PHPINFO debe salir activo el modulo de pdo_sqlsrv

Saludos y espero que les sirva

Novedades MX Linux 21 WILDFLOWER

Ha salido hace ya hace un poco de tiempo la versión 21 de MX LINUX, la distribución que se mantiene en el primer lugar en la top 100 de la WEB distrowatch así que vamos a dedicarle un post, sobre todo especificando la versión que viene con el entorno de escritorio XFCE

Para resumir rápidamente les dejo las novedades que tiene esta versión

Guardando configuración de la base de datos usando My.Computer.Registry

Ya vimos como llamar ventanas para ponerlas en la ventana principal, lo que haremos en esta publicación será como guardar la configuración de la base de datos.

Para ello vamos a crear una ventana llamada configuración y vamos a crear los campos de texto necesarios como que son los siguientes:

  1. Server
  2. Base de datos
  3. Usuario
  4. Contraseña

Primero nos creamos la ventana nueva de configuración

Añadimos las cuatro etiquetas con las cajas de texto, textbox , en los nombres procuraremos mantener un estándar por ejemplo en los campos de textos siempre le pondremos un nombre empezando como txt como txtHost, txtBaseDeDatos, txtUsuario y txtContraseña

Igual lo vamos a lanzar desde el menú configuración y desde el botón abrir

Además para el menú salir agregamos el siguiente código

Me.Close()
Lo ideal fuera guardar esas variables en la variables de configuración pero en Visual Basic 2022 con .NET 6.0 no funciona, entonces nos queda usar el registro de windows “REGEDIT” con my.computer.registry

Entonces en el load de la porfa agregamos el siguiente código, lo que hace es leer el registro de Windows donde estaremos guardando los datos de conexión

       If Not My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing) Is Nothing Then

            Me.txtServidor.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Nothing).ToString()
            Me.txtBaseDeDatos.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Nothing).ToString()
            Me.txtUsuario.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Nothing).ToString()
            Me.txtContra.Text = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Nothing).ToString()

        End If

Quedaría de la siguiente forma, ponemos un if para ver si existe el registro y si existe lo asignamos a los controloles

Ahora para grabar el los valores que escribimos en los controles ponemos el siguiente código en el evento click del botón aceptar

 My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "servidor", Me.txtServidor.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "baseDeDatos", Me.txtBaseDeDatos.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "usuario", Me.txtUsuario.Text)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\CREADORMVCPHP", "contra", Me.txtContra.Text)
Quedaría de la siguiente forma
Si todo salio bien vemos como se guardan los datos y aunque cerremos el programa al abrirlo estará la información guardada

En la próxima publicación veremos como hacer la conexión a la base de datos de MySQL

Crear ventana “acerca de” y llamarla como modal interno

Ya tenemos lista la ventana principal ahora tenemos que empezar a crear las ventanas internas del programa, para empezar vamos a crear una carpeta en la cual estarán todas las formas que se llamara formas

Preparando ventana principal y metiendo menú

Primero antes de poner el menú necesitamos preparar la ventana principal, ajustar los detalles como el icono, titulo, si es contenedor etc.

Al iniciar el proyecto tenemos esta venta básica, vemos que en el titulo dice Form1 y el icono es un icono genérico
Para cambiar el titulo damos click en la ventana y modificamos la propiedad Text
Para cambiar el icono de la aplicación nos vamos a la la propiedad Icon y seleccionamos el archivo de icono
Para agregar el menu nos vamos al cuadro de herramientas y en la categoría Menus & Toolbars y arrastramos el control MenuStrip
Aquí vemos como agregamos los menús Archivo, Procesos y ayuda, dentro de Archivo meteremos los sub menús Configuración y salir, dentro de Procesos metimos el sub menú crear catalogo y en el menú Ayuda metimos el sub menú de manual y acerca de
Agregamos también el menú con botones, en este caso solo dejamos el nuevo y el acerca de, para ello le damos click en el triangulo de la esquina superior derecha y le damos agregar elementos estándar, eliminamos los botones que no se necesitaran y queda de esta forma
Seleccionamos la ventana en general y en la propiedad isMDIContainer la dejamos como true “Verdadero” y entonces ya vamos a poder agregar ventanas internas dentro del programa

En la próxima publicación veremos como agregar una ventana nueva y mostrarla como interna

DRIVERS PARA DELL INSPIRON 15 5000 PARA WINDOWS 11

Les dejo los controladores para la Laptop DELL Inspiron 15 5000 para windows 10

Los controladores pueden restaurarse con ese comando donde d:\Controladores es la ruta donde tengan los drivers descargados, o también pueden agregarlo desde el administrador de dispositivos

Dism /online /Add-Driver /Driver:d:\Controladores /Recurse

Saludos y espero que les sirva

Página 19 de 139

Creado con WordPress & Tema de Anders Norén