Advertisement
idsystems

VBNETBD_Practica16

Mar 23rd, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 4.12 KB | None | 0 0
  1. ' Practica16 - BD con Imagenes vinculadas en un campo
  2. Imports System.Data.OleDb
  3.  
  4. Public Class Form1
  5.     'Estamos usando una conexion a una BD de Access 2007, por lo que cambia el proveedor.
  6.  
  7.     Dim cnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Inventario.accdb")
  8.     Dim da As New OleDbDataAdapter("Select * From Productos", cnn)
  9.     Dim ds As New DataSet
  10.     Dim nRegistro As Integer
  11.  
  12.  
  13.  
  14.     Private Sub cmdFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFill.Click
  15.         da.Fill(ds)
  16.         'Llenar el primer registro solamente
  17.         txtArticulo.Text = ds.Tables(0).Rows(0).Item("Articulo")
  18.         txtPrecio.Text = ds.Tables(0).Rows(0).Item("Precio")
  19.         txtUbicacion.Text = ds.Tables(0).Rows(0).Item("Imagen")
  20.         PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
  21.  
  22.     End Sub
  23.  
  24.     Private Sub cmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNext.Click
  25.         'Cuando damos el boton de siguiente
  26.         nRegistro = nRegistro + 1
  27.         If nRegistro < ds.Tables(0).Rows.Count Then
  28.             txtArticulo.Text = ds.Tables(0).Rows(nRegistro).Item("Articulo").ToString
  29.             txtPrecio.Text = ds.Tables(0).Rows(nRegistro).Item("Precio").ToString
  30.             'Aqui nos falta validar cuando un campo esta vacio nos marca DBNULL, para evitar errores.
  31.             If (Not (IsNothing(ds.Tables(0).Rows(0).Item("Imagen").ToString))) Then
  32.                 txtUbicacion.Text = ds.Tables(0).Rows(nRegistro).Item("Imagen").ToString
  33.                 PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
  34.             End If
  35.         Else
  36.             MsgBox("Final del archivo")
  37.             nRegistro = ds.Tables(0).Rows.Count - 1
  38.         End If
  39.  
  40.     End Sub
  41.  
  42.     Private Sub cmdAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAnterior.Click
  43.         'Cuando damos el boton anterior
  44.         nRegistro = nRegistro - 1
  45.         If nRegistro >= 0 Then
  46.             txtArticulo.Text = ds.Tables(0).Rows(nRegistro).Item("Articulo").ToString
  47.             txtPrecio.Text = ds.Tables(0).Rows(nRegistro).Item("Precio").ToString
  48.             txtUbicacion.Text = ds.Tables(0).Rows(nRegistro).Item("Imagen").ToString
  49.             PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
  50.  
  51.             'PictureBox1.ImageLocation = My.Application.Info.DirectoryPath + "\images\" + Trim(txtArticulo.Text) + ".jpg"
  52.  
  53.         Else
  54.             MsgBox("Inicio del archivo")
  55.             nRegistro = 0
  56.         End If
  57.     End Sub
  58.  
  59.     Private Sub cmdSubirFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSubirFoto.Click
  60.         'Abrir la caja de dialogo para subir una foto y mostrarla en la caja picturebox. despues de esto debemos de pulsar el boton
  61.         'de grabar para que se grabe la ruta completa en la base de datos.
  62.         OpenFileDialog1.ShowDialog()
  63.         txtUbicacion.Text = OpenFileDialog1.FileName
  64.         PictureBox1.ImageLocation = Trim(txtUbicacion.Text)
  65.  
  66.     End Sub
  67.  
  68.     Private Sub cmdGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGrabar.Click
  69.         'Aqui necesitamos la rutina para grabar lo que ponemos en el campo.
  70.         'Podemos hacerlo con el dataset o usando un databindings para enlazar los campos y que de manera automatica se
  71.         'grabe el campo.
  72.  
  73.         da.UpdateCommand = New OleDbCommand("UPDATE Productos SET articulo=@articulo, precio=@precio, imagen=@imagen where articulo=@articulo")
  74.         da.UpdateCommand.Connection = cnn
  75.         da.UpdateCommand.Parameters.Add("@articulo", OleDbType.VarChar, 255, "articulo")
  76.         da.UpdateCommand.Parameters.Add("@precio", OleDbType.VarChar, 40, "precio")
  77.         da.UpdateCommand.Parameters.Add("@imagen", OleDbType.VarChar, 255, "imagen")
  78.  
  79.         Dim dr As DataRow
  80.         dr = ds.Tables(0).Rows(nRegistro)
  81.         dr.BeginEdit()
  82.         dr("precio") = txtPrecio.Text
  83.         dr("imagen") = txtUbicacion.Text
  84.         dr.EndEdit()
  85.         da.Update(ds)
  86.         ds.AcceptChanges()
  87.         MessageBox.Show("Datos actualizados")
  88.  
  89.  
  90.     End Sub
  91. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement