Descubra cómo emitir los comandos SQL más comunes utilizando VB.NET.
VB.NET ofrece un enfoque simplificado para las operaciones de bases de datos, con un marco sólido. Utilizando su potencia, podrás obtener información relevante de forma rápida y con el mínimo esfuerzo.
Eche un vistazo a algunos ejemplos prácticos que muestran cómo usar VB.NET para realizar consultas SQL y vea cómo puede garantizar que la recuperación de datos sea efectiva y eficiente.
Configurando su servidor SQL local
Comienza configurando un servidor SQL para revisar todo paso a paso. En los ejemplos siguientes verá un entorno Windows, pero si está utilizando un sistema operativo diferente como Linux y tienes un servidor SQL diferente, no te preocupes; La lógica general seguirá siendo la misma.
Debido a su simplicidad y enfoque de configuración cero, SQLite es una excelente opción para principiantes.
Para configurar las cosas, cree una nueva carpeta, luego abrir un símbolo del sistema y navega hasta él. Ejecute el siguiente comando para crear un nuevo proyecto .NET en el que pueda utilizar el lenguaje VB.NET:
dotnet new console -lang VB -o MyVBApp
Ahora tienes un proyecto llamado MiVBApp. Continúe la configuración integrando el paquete SQLite en su proyecto VB.NET usando NuGet, un popular administrador de paquetes para .NET. Ejecute este comando:
dotnet add package System.Data.SQLite
Una vez que haya agregado SQLite, puede configurar una base de datos local sin esfuerzo.
Puedes encontrar todo el código de estos ejemplos en la página del proyecto. repositorio de GitHub.
Descargar el Inicializarbase de datos.vb archivo del repositorio del proyecto. Este archivo en particular le ayudará a configurar su base de datos. Como puede ver en este archivo hay algunos usuarios y países de los usuarios. Puede utilizar esto como base de datos de muestra.
El comando que utilizó para crear el proyecto VB.NET creó un archivo llamado Programa.vb. Abra este archivo y actualícelo de la siguiente manera:
Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule
Ejecute este programa y debería verlo crear un archivo llamado mibase de datos.db. Esta es la base de datos simple que utilizará en los siguientes ejemplos.
Estableciendo una conexión de base de datos con SQL en VB.NET
Establecer una conexión usando SQLite en VB.NET es sencillo. Continuar editando el Programa.vb y elimine el contenido existente de la subrutina principal. Este archivo sirve como núcleo del proyecto.
Puede definir una conexión al archivo de base de datos, mydatabase.db, con esta línea de código:
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"
Fuente de datos especifica el nombre del archivo de la base de datos. Si el archivo no existe, SQLite creará una nueva base de datos cuando establezca una conexión.
El siguiente paso es utilizar el Conexión SQLite clase para crear una instancia de conexión. Siempre debes usar un Usando bloquear cuando se trabaja con conexiones de bases de datos para evitar posibles fugas o bloqueos:
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
EndUsing
El bloque Uso garantiza que la conexión se cierre automáticamente cuando se complete.
Su archivo final Program.vb debería verse así:
Imports System
Imports System.Data.SQLiteModule Program
Sub Main(args AsString())
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"Try
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
Console.WriteLine("Successfully connected to the database!")
'You can perform database operations here.
EndUsing
Catch ex As SQLiteException
Console.WriteLine("Error: " & ex.Message)
EndTry
EndSub
EndModule
Este código se conectará a la base de datos mydatabase.db e imprimirá un mensaje de confirmación cuando tenga éxito. Si ocurre un error, imprimirá los detalles en la consola.
Cómo recuperar datos y cargarlos en una matriz
El SELECCIONARcomando SQL es la forma principal de obtener datos de una base de datos SQL. Si tienes una tabla llamada Usuarios en su base de datos y desea obtener el Nombre campo de cada registro en esa tabla, use SELECT de esta manera:
SELECT Name FROM Users
Puede extraer datos de la base de datos y cargarlos en una matriz agregando esta consulta al archivo Program.vb:
Dim query AsString = "SELECT Name FROM Users"
Dim names AsNew List(OfString)()Using conn AsNew SQLiteConnection(connectionString)
conn.Open()Using cmd AsNew SQLiteCommand(query, conn)
Using reader As SQLiteDataReader = cmd.ExecuteReader()
While reader.Read()
names.Add(reader("Name").ToString())
EndWhile
EndUsing
EndUsing
EndUsing' Now the 'names' list is full of users' names.
' You can convert this list to an array if you want:
Dim namesArray() AsString = names.ToArray()
' Print array content for testing purposes
ForEach name In namesArray
Console.WriteLine(name)
Next
Verá una lista de nombres en la consola, correspondientes al contenido de la tabla de su base de datos:
Este código carga los datos en un Lista estructura, que tiene un tamaño dinámico, antes de convertirla en una matriz al finalizar. Este enfoque es muy útil para situaciones en las que no se sabe de antemano el número de registros que se recuperarán.
Cómo utilizar INSERT para agregar datos a una base de datos
Puedes usar el INSERTAR EN comando para agregar nuevos datos a una base de datos. Por ejemplo, considere el Usuarios tabla que tiene dos columnas nombradas Nombre y País.
La consulta SQL básica que puedes utilizar para agregar un nuevo usuario sería:
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Para agregar un nuevo usuario a la base de datos usando esta consulta, actualice el archivo Program.vb de la siguiente manera:
Dim query AsString = $"INSERT INTO Users (Name, Country) VALUES ('{name}', '{country}')"
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()Using cmd AsNew SQLiteCommand(query, conn)
cmd.ExecuteNonQuery()
EndUsing
EndUsing
Console.WriteLine($"{name} has been successfully added to the database!")
Este ejemplo simple utiliza la interpolación de cadenas para generar la consulta, pero debes evitar esto en el código de producción ya que es vulnerable a la inyección SQL. La alternativa son las consultas parametrizadas que hacen que las operaciones de la base de datos sean más seguras y eficientes.
Las consultas parametrizadas utilizan marcadores de posición, en lugar de concatenación directa de cadenas, para agregar valores a las consultas SQL. Este enfoque le ayudará a evitar muchas amenazas a la seguridad:
Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Otros consejos para trabajar con una base de datos desde VB.Net
Las operaciones de bases de datos en VB.NET pueden parecer inicialmente desalentadoras, pero con algunas pautas, puedes dominar fácilmente los conceptos básicos.
- Utilice consultas parametrizadas para protegerse contra vulnerabilidades de seguridad.
- Cierre siempre la conexión de su base de datos cuando haya terminado de buscar o actualizar datos.
- Mantenga su base de datos para optimizar su estructura a medida que su modelo de datos cambie con el tiempo.
- No olvides hacer copias de seguridad en caso de emergencias.
Como ocurre con cualquier tecnología, las bases de datos evolucionan. El software se actualiza, surgen nuevas herramientas y descubrimos mejores formas de hacer las cosas. Es una buena idea mantenerse informado y actualizado. Algunas herramientas actúan como intermediarios, como Marco de la entidad, lo que facilita la escritura de código relacionado con la base de datos.
Cómo llevar su viaje a VB.NET más lejos
VB.NET, con su conexión profundamente arraigada con el ecosistema de Microsoft, es robusto y fácil de usar. Para comprender realmente su poder, comience con la documentación oficial proporcionada por Microsoft. Desde allí, explore cursos, foros y comunidades en línea, donde desarrolladores experimentados comparten sus conocimientos y opiniones.
Recuerde, todo experto alguna vez fue un principiante. Con esfuerzo constante, curiosidad y los recursos adecuados, pronto se encontrará navegando por VB.NET con confianza y facilidad. A medida que avances, no dudes en experimentar, hacer preguntas y, lo más importante, disfrutar el proceso de descubrimiento.