Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' Practica16 - BD con Imagenes vinculadas en un campo
- Imports System.Data.OleDb
- Public Class Form1
- 'Estamos usando una conexion a una BD de Access 2007, por lo que cambia el proveedor.
- Dim cnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Inventario.accdb")
- Dim da As New OleDbDataAdapter("Select * From Productos", cnn)
- Dim ds As New DataSet
- Dim nRegistro As Integer
- Private Sub cmdFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFill.Click
- da.Fill(ds)
- 'Llenar el primer registro solamente
- txtArticulo.Text = ds.Tables(0).Rows(0).Item("Articulo")
- txtPrecio.Text = ds.Tables(0).Rows(0).Item("Precio")
- txtUbicacion.Text = ds.Tables(0).Rows(0).Item("Imagen")
- PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
- End Sub
- Private Sub cmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNext.Click
- 'Cuando damos el boton de siguiente
- nRegistro = nRegistro + 1
- If nRegistro < ds.Tables(0).Rows.Count Then
- txtArticulo.Text = ds.Tables(0).Rows(nRegistro).Item("Articulo").ToString
- txtPrecio.Text = ds.Tables(0).Rows(nRegistro).Item("Precio").ToString
- 'Aqui nos falta validar cuando un campo esta vacio nos marca DBNULL, para evitar errores.
- If (Not (IsNothing(ds.Tables(0).Rows(0).Item("Imagen").ToString))) Then
- txtUbicacion.Text = ds.Tables(0).Rows(nRegistro).Item("Imagen").ToString
- PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
- End If
- Else
- MsgBox("Final del archivo")
- nRegistro = ds.Tables(0).Rows.Count - 1
- End If
- End Sub
- Private Sub cmdAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAnterior.Click
- 'Cuando damos el boton anterior
- nRegistro = nRegistro - 1
- If nRegistro >= 0 Then
- txtArticulo.Text = ds.Tables(0).Rows(nRegistro).Item("Articulo").ToString
- txtPrecio.Text = ds.Tables(0).Rows(nRegistro).Item("Precio").ToString
- txtUbicacion.Text = ds.Tables(0).Rows(nRegistro).Item("Imagen").ToString
- PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
- 'PictureBox1.ImageLocation = My.Application.Info.DirectoryPath + "\images\" + Trim(txtArticulo.Text) + ".jpg"
- Else
- MsgBox("Inicio del archivo")
- nRegistro = 0
- End If
- End Sub
- Private Sub cmdSubirFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSubirFoto.Click
- 'Abrir la caja de dialogo para subir una foto y mostrarla en la caja picturebox. despues de esto debemos de pulsar el boton
- 'de grabar para que se grabe la ruta completa en la base de datos.
- OpenFileDialog1.ShowDialog()
- txtUbicacion.Text = OpenFileDialog1.FileName
- PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
- End Sub
- Private Sub cmdGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGrabar.Click
- 'Aqui necesitamos la rutina para grabar lo que ponemos en el campo.
- 'Podemos hacerlo con el dataset o usando un databindings para enlazar los campos y que de manera automatica se
- 'grabe el campo.
- da.UpdateCommand = New OleDbCommand("UPDATE Productos SET articulo=@articulo, precio=@precio, imagen=@imagen where articulo=@articulo")
- da.UpdateCommand.Connection = cnn
- da.UpdateCommand.Parameters.Add("@articulo", OleDbType.VarChar, 255, "articulo")
- da.UpdateCommand.Parameters.Add("@precio", OleDbType.VarChar, 40, "precio")
- da.UpdateCommand.Parameters.Add("@imagen", OleDbType.VarChar, 255, "imagen")
- Dim dr As DataRow
- dr = ds.Tables(0).Rows(nRegistro)
- dr.BeginEdit()
- dr("precio") = txtPrecio.Text
- dr("imagen") = txtUbicacion.Text
- dr.EndEdit()
- da.Update(ds)
- ds.AcceptChanges()
- MessageBox.Show("Datos actualizados")
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement