jueves, 29 de julio de 2010

Ejercicio No. 1

Para este ejercicio es necesario tener en cuenta que necesitamos crear una base de datos en Sql Server 2005 ya sea  la versión gratis (SQL Server 2005 Express) o la de pago (SQL Server 2005 Standard.

1) Crear una base de datos llamada Prueba

2) Crear una tabla dentro de la base de datos Prueba con el nombre Coches.  La estructura de la tabla es la siguiente

Nombre
Campo
Tipo de Datos Tamaño Descripción
Matricula Varchar 10 Placa del vehículo.  Corresponde al identificador de la tabla
Marca Varchar 15 Marca del vehículo
Modelo Varchar 15 Modelo del vehículo
Kilómetros Int   Cantidad de Kilómetros recorridos por el vehículo
Costo Real   Costo por día del vehículo

La clave primaria de la tabla será el campo Matricula.

3) Una vez creada la tabla, procedemos a llenar algunos datos para que podamos utilizarla desde Visual Basic 2008

M-2125    Toyota        Yaris           70820    28
M-3150    Toyota        Corolla       50453    30
M-7315    Mitsubishi   Montero     15800    35
M-9817    Nissan         Sentra      140782    23

Ahora el programa.  Expliquemos primero que es lo que queremos hacer.  Imaginemos que tenemos una empresa de alquiler de vehículos y queremos hacer una pantalla donde tengamos un combo con las marcas de los vehiculos que tenemos disponibles y queremos seleccionar del combobox una marca y que en un listbox aparezcan los vehiculos disponibles.

El formulario final sería así:

Formulario1

Control Nombre
ComboBox cboMarca
Button1 btnMostrar
Button2 btnLimpiar
Button3 btnSalir
ListBox1 lstCoches
Imports System.Data
Imports System.Data.SqlClient
 
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Definir el arreglo de marcas y asignar algunos valores
        Dim aMarcas() As String = {"Mitsubishi", "Toyota", "Nissan", "Chevrolet"}
 
        'Cargar los datos en el combobox con las marcas de los vehiculos
        For i = 0 To aMarcas.Length - 1
            cboMarca.Items.Add(aMarcas(i))
        Next
 
    End Sub
 
    Private Sub btnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMostrar.Click
        'hay que validar primero que se ha seleccionado un valor
        'en el combobox
        If cboMarca.Text = "" Then
            MsgBox("No ha seleccionado una marca...")
            Exit Sub
        End If
 
        'Si llegamos hasta esta linea de código significa que ya habíamos
        'seleccionado una marca en el combo entonces nos conectamos a la base de datos
        ' y sacamos la información a través de un datareader
 
        '== Se define y abre la conexión
        Dim cn As SqlConnection = New SqlConnection("Data Source=D7PPS31\SQLEXPRESS;Initial Catalog=Prueba1;Integrated Security=true")
        cn.Open()
        '== Se crea un comando con la sentencia SELECT, INSERT, DELETE o UPDATE a utilizar
        Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM Coches WHERE Marca='" & cboMarca.Text & "'", cn)
        '== Se abre un datareader y se le asigna los datos que traerá el comando con sui
        '== metodo EXECUTEREADER
        Dim dr As SqlDataReader = cmd.ExecuteReader()
        '== Se crea un ciclo WHILE utilizando el método Read del datareader que permite
        '== obtener el valor verdadero o falso si lee o no datos
        While dr.Read()
            'Se añaden los campos que devuelve el datareader con un tabulador por medio cada
            'uno. Note que los campos que son numéricos hay que usar el método ToString()
            'al final para que los convierta a Texto
            lstCoches.Items.Add(dr("Matricula") + vbTab + dr("Modelo") + vbTab + dr("Kilometros").ToString() + dr("Costo").ToString())
        End While
 
        'Se cierra el datareader y la conexión
        dr.Close()
        cn.Close()
    End Sub
 
    Private Sub btnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
        'limpia el listbox
        lstCoches.Items.Clear()
    End Sub
 
    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click
        Me.Dispose()
        Me.Close()
    End Sub
End Class
  

No hay comentarios:

Publicar un comentario