Almacenar y Mostrar Imágenes

7
Almacenar y Mostrar Imágenes [Vb.Net & SQL SERVER] Hola De Nuevo ahora haremos un ejemplo simple Para Almacenar imágenes en nuestro servidor de base de datos Desde un formulario en el lenguaje desde visual basic.net Para Esto Utilizaremos : 4 Button o Un Button Para Buscar La Imagen o Un Button Para Guardar La Imagen En La Base De Datos o Un Button Para Visualizar Las Imágenes Guardadas En La Base De Datos o Un Button Para Ocultar Las Imágenes Almacenadas En La Base De Datos 1 OpenFileDialog1 o Un OpenFileDialog Para Seleccionar Nuestra Imagen A Almacenar 1 DataGridView o Un DataGridView Para Mostrarnos los datos De La Base De Datos 1 PictureBox o Un PictureBox Donde Nos Mostrara Y Nos Dara Una vista Previa De las Imágenes. 1 Label o Un Label Para Mostrarlos La Ruta Donde se encuentra la imagen Bueno Con Estos Controles Crearemos Un Diseño Algo Así.

description

codigo en visual basic para almacenar imagenes en la base de datos

Transcript of Almacenar y Mostrar Imágenes

Page 1: Almacenar y Mostrar Imágenes

Almacenar y Mostrar Imágenes [Vb.Net & SQL SERVER]Hola De Nuevo ahora haremos un ejemplo simple Para Almacenar imágenes en nuestro servidor de base de datos Desde un formulario en el lenguaje desde visual basic.net

Para Esto Utilizaremos :

4 Buttono Un Button Para Buscar La Imageno Un Button Para Guardar La Imagen En La Base De Datoso Un Button Para Visualizar Las Imágenes Guardadas En La Base De Datoso Un Button Para Ocultar Las Imágenes Almacenadas En La Base De Datos

1 OpenFileDialog1o Un OpenFileDialog Para Seleccionar Nuestra Imagen A Almacenar

1 DataGridViewo Un DataGridView Para Mostrarnos los datos De La Base De Datos

1 PictureBoxo Un PictureBox Donde Nos Mostrara Y Nos Dara Una vista Previa De las

Imágenes. 1 Label

o Un Label Para Mostrarlos La Ruta Donde se encuentra la imagen

Bueno Con Estos Controles Crearemos Un Diseño Algo Así.

Page 2: Almacenar y Mostrar Imágenes

Y Bueno Ahora Para El Ejemplo Crearemos Una Base De Datos Para Este Ejemplo:

12345678

Create Database TechPeruGoUse TechPeruGoCreate Table AlmacenarImagenes(Id int primary key identity(0,1),Imagen Image)

Ahora El Codigo Fuente

123456789

Imports System.DataImports System.Data.SqlClientImports System.IOPublic Class Form1 Dim Str As String = "Data Source=.;Initial Catalog=TechPeru;Integrated Security=True" Dim Da As New SqlDataAdapter Dim Dt As DataTable Dim Cn As New SqlConnection(Str) Dim Cmd As New SqlCommand Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

Page 3: Almacenar y Mostrar Imágenes

1011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556

System.EventArgs) Handles MyBase.Load Me.Size = New System.Drawing.Size(396, 412) DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect OpenFileDialog1.Filter = "Todos(*.Jpg, *.Png, *.Gif, *.Tiff, *.Jpeg, *.Bmp)|*.Jpg; *.Png; *.Gif; *.Tiff; *.Jpeg; *.Bmp" End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Size = New System.Drawing.Size(396, 412) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Size = New System.Drawing.Size(396, 591) Try Cn.Open() With Cmd .CommandType = CommandType.Text .CommandText = "SELECT * from AlmacenarImagenes" .Connection = Cn End With With Da .SelectCommand = Cmd Dt = New DataTable .Fill(Dt) DataGridView1.DataSource = Dt End With Catch ex As Exception MsgBox(ex.Message) Finally Cn.Close() End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OpenFileDialog1.ShowDialog() Label1.Text = OpenFileDialog1.FileName.ToString PictureBox1.Image = System.Drawing.Image.FromFile(Label1.Text) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Try Cn.Open() Dim arrFilename() As String = Split(Text, "\") Array.Reverse(arrFilename) Dim ms As New MemoryStream PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat) Dim arrImage() As Byte = ms.GetBuffer With Cmd .CommandType = CommandType.Text .CommandText = "Insert Into AlmacenarImagenes(Imagen)Values(@Imagen)" .Connection = Cn .Parameters.Add(New SqlParameter("@Imagen", SqlDbType.Image)).Value = arrImage End With MessageBox.Show("Registrado Correctamente") Cmd.ExecuteNonQuery()

Page 4: Almacenar y Mostrar Imágenes

5758596061626364656667686970717273747576777879808182838485868788

 Catch ex As Exception MsgBox(ex.Message) Finally Cmd.Parameters.Clear() Cn.Close() End Try End Sub Function ExtraerImagen(ByVal Foto As Integer) As Byte() With Cmd .CommandType = CommandType.Text .CommandText = "Select Imagen From AlmacenarImagenes Where id = " & Foto .Connection = Cn End With With Cn .Open() Dim MyPhoto() As Byte = CType(Cmd.ExecuteScalar(), Byte()) .Close() Return MyPhoto End With End Function Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick Try Dim ms As New MemoryStream(ExtraerImagen(CInt(DataGridView1.SelectedCells(0).Value))) PictureBox1.Image = Image.FromStream(ms) Catch ex As Exception MessageBox.Show(ex.Message) End Try End SubEnd Class