Tecnología

Inicio

Cómo ejecutar secuencias de comandos SQL desde Visual Basic

Cómo ejecutar secuencias de comandos SQL desde Visual Basic


La última versión de Visual Basic proporciona una rica capa de acceso de datos que permite la abstracción orientada a objetos de los datos utilizados en una aplicación. A veces sin embargo, es más eficiente, más rápido o más práctico simplemente ejecutar una secuencia de comandos SQL en la base de datos subyacente directamente. Una secuencia de comandos SQL puede contener varias instrucciones que deben ser ejecutadas juntos o puede tener SQL dinámico que se genera por la aplicación. Independientemente de la razón, la ejecución de secuencias de comandos SQL desde Visual Basic no es muy difícil.

Instrucciones

1 Crear un nuevo proyecto de Visual formas básicas de Windows en Visual Studio mediante la selección de Nuevo proyecto en el menú Archivo y seleccionar el tipo de proyecto adecuado. En forma predeterminada que se crea, Form1, coloque un control de botón denominado Button1. Haga doble clic en el control para crear un controlador de eventos Button1_Click.

2 En la parte superior del listado de código de Form1 (por encima de la línea "Public Class Form1"), agregue una instrucción Imports para importar la biblioteca de acceso a datos .NET. La declaración debe tener este aspecto:

Imports System.Data.SqlClient

En este ejemplo, la base de datos se supone que es una base de datos SQL Server. Hay otras bibliotecas de bases de datos ODBC y OLEDB.

3 Dentro de la función de controlador de eventos Button1_Click una dimensión variable, llamado db como nuevo SqlConnection. Establezca la propiedad de cadena de conexión a la cadena de conexión para la base de datos y abrir la conexión de base de datos con el método Open. El código debería tener este aspecto:

Dim db As New SqlConnection
db.ConnectionString = "Data Source=servername; Initial Catalog=dbname; User Id=user; Password=password"
db.Open()

4 Dimensionar una variable llamada cmd como un nuevo SqlCommand. Establecer la propiedad CommandText ser la secuencia de comandos SQL que se va a ejecutar. Por último, llame al método ExecuteNonQuery del objeto SqlCommand para ejecutar la secuencia de comandos SQL. El código debería tener este aspecto:

Dim cmd As New SqlCommand
cmd.Connection = db
cmd.CommandText = "update tablename set field1 = 2 where field3 = 4"
cmd.ExecuteNonQuery()

Consejos y advertencias

  • El valor de retorno del método ExecuteNonQuery da el número de registros que se han modificado. Por ejemplo, si se ejecuta una instrucción de actualización, el retorno sería el número de registros actualizados. Esto puede ser útil en la interfaz de usuario para proporcionar información o puede ser utilizado para verificar que no se encontraron registros.
  • Después se abre la conexión de base de datos, siempre debe estar cerrada utilizando el método Close del objeto SqlConnection. Esto ayudará a prevenir la corrupción de la base de datos, en especial para los archivos de base de datos Microsoft Access.