Inicio > TI2 (Programación) > Ayudantía extra final TI2 – Fe de erratas

Ayudantía extra final TI2 – Fe de erratas

Cueck. En el Form3, que es donde aparece el código nuevo de asignación de parámetros de Access a VB, hay un error en el botón de Ejecutar (Button1). El código corregido es el siguiente:


Dim con As OleDbConnection
        Dim orden As OleDbCommand
        Dim orden2 As OleDbCommand
        con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\WHP\Documents\bd1.mdb")
        Dim query1 As String
        Dim query2 As String
        Dim query3 As String
        Dim cantidadvideo As Integer
        ‘Query de selección, para asignar la cantidad a una variable
        query3 = "select cantidad from video where id_video = @p1"
        orden2 = New OleDbCommand(query3, con)
        orden2.Parameters.Add(New OleDbParameter("@p1", OleDbType.Integer))
        orden2.Parameters("@p1").Value = TextBox2.Text
        ‘Inicio de conexión para ExecuteScalar
        orden2.Connection.Open()
        ‘La orden ExecuteScalar leerá el valor único de una consulta cualquiera para asignarla a
        ‘una variable, en este caso, cantidadvideo
        cantidadvideo = orden2.ExecuteScalar()
        ‘Cerramos la conexión para la orden que usamos
        orden2.Connection.Close()
        ‘Ciclo de pregunta para revisar la disponibilidad en stock del video
        If cantidadvideo < Val(TextBox3.Text) Then
            ‘Si la cantidad es insuficiente…

            MessageBox.Show("Cantidad en stock insuficiente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            ‘Si la cantidad es suficiente…
            MessageBox.Show("Arriendo realizado", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information)
            query1 = "insert into transaccion (cliente, pelicula, cantidad, precio, tipo_trans, total_compra, fecha) values (@p1, @p2, @p3, @p4, ‘Arriendo’, @p6, @p7)"
            orden = New OleDbCommand(query1, con)
            orden.Parameters.Add(New OleDbParameter("@p1", OleDbType.Integer))
            orden.Parameters("@p1").Value = TextBox1.Text
            orden.Parameters.Add(New OleDbParameter("@p2", OleDbType.Integer))
            orden.Parameters("@p2").Value = TextBox2.Text
            orden.Parameters.Add(New OleDbParameter("@p3", OleDbType.Integer))
            orden.Parameters("@p3").Value = TextBox3.Text
            orden.Parameters.Add(New OleDbParameter("@p4", OleDbType.Integer))
            orden.Parameters("@p4").Value = TextBox4.Text
            orden.Parameters.Add(New OleDbParameter("@p6", OleDbType.Integer))
            orden.Parameters("@p6").Value = TextBox5.Text
            orden.Parameters.Add(New OleDbParameter("@p7", OleDbType.Date))
            orden.Parameters("@p7").Value = Now()
            orden.Connection.Open()
            orden.ExecuteNonQuery()
            orden.Connection.Close()
            query2 = "update video set cantidad=cantidad-@p1 where id_video=@p2"
            orden = New OleDbCommand(query2, con)
            orden.Parameters.Add(New OleDbParameter("@p1", OleDbType.Integer))
            orden.Parameters("@p1").Value = TextBox3.Text
            orden.Parameters.Add(New OleDbParameter("@p2", OleDbType.Integer))
            orden.Parameters("@p2").Value = TextBox2.Text
            orden.Connection.Open()
            orden.ExecuteNonQuery()
            orden.Connection.Close()
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox1.Focus()
        End If

Si usted se considera flojo, y quiere copiar y pegar de un lado más cómodo, descargue este archivo.

Categorías:TI2 (Programación)
  1. Aún no hay comentarios.
  1. Aún no hay trackbacks