Vimos en el concepto anterior como conectarnos al servidor de SQL Server desde Visual Basic .Net y seleccionar una base de datos. Veremos ahora como pedir que el SQL Server ejecute un comando "INSERT".
Trabajaremos con la base de datos "base1" que creamos en conceptos anteriores y con la tabla "articulos" que también creamos previamente con la estructura:
codigo int primary key identidad descripcion varchar 50 precio float
Implementar una interfaz visual para el alta o carga de registros en la tabla artículos.
Crearemos un proyecto llamado "basededatos2" con la siguiente interfaz visual:
El código fuente de la aplicación para efectuar altas es:
Imports System.Data.SqlClient Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim conexion As SqlConnection conexion = New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true") conexion.Open() Dim descri As String = TextBox1.Text Dim precio As String = TextBox2.Text Dim cadena As String = "insert into articulos(descripcion,precio) values ('" & descri & "'," & precio & ")" Dim comando As SqlCommand comando = New SqlCommand(cadena, conexion) comando.ExecuteNonQuery() MessageBox.Show("Los datos se guardaron correctamente") TextBox1.Text = "" TextBox2.Text = "" conexion.Close() End Sub End Class
Importamos el espacio de nombres que contiene las clases SqlConnection y SqlCommand:
Imports System.Data.SqlClient
Lo primero que hacemos para el evento Click del botón es definir y crear un objeto de la clase SqlConnection y proceder a abrir la conexión:
Dim conexion As SqlConnection conexion = New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true") conexion.Open()
Tenemos que guardar en la variable cadena un comando INSERT válido tomando los datos ingresados en los dos TextBox:
Dim descri As String = TextBox1.Text Dim precio As String = TextBox2.Text Dim cadena As String = "insert into articulos(descripcion,precio) values ('" & descri & "'," & precio & ")"
Como el campo descripción es de tipo varchar debemos incluir las comillas simples:
'" & descri & "'
Y como el precio es float no incluimos las comillas simples:
" & precio & "
Si cargamos por teclado por ejemplo el producto: manzanas y con un precio : 20, luego la variable cadena tiene el valor:
insert into articulos(descripcion,precio) values ('manzanas',20)
Como podemos ver es una forma sencilla de elaborar un comando SQL siempre y cuando tengamos pocos campos que iniciar.
Creamos un objeto de la clase SqlCommand y le pasamos al constructor un String con el comando SQL y la referencia a la conexión.
Dim comando As SqlCommand comando = New SqlCommand(cadena, conexion)
Seguidamente llamamos al método ExecuteNonQuery que procede a comunicarse con el servidor para que se ejecute el comando SQL configurado en la línea anterior:
comando.ExecuteNonQuery();
Ejecutemos el programa y realicemos la carga de un artículo:
Por el momento la única forma que tenemos para consultar la tabla "articulos" es abrir el "Microsoft SQL Server Management Studio" seleccionar la base de datos "base1" y luego presionar el botón derecho del mouse eligiendo la opción "Seleccionar las primeras 1000 filas":
Y de esta forma poder ver los registros que almacena la tabla "articulos":