hola amigos como estan espero bien..
bueno en este articulo les comparto ..a como insertar una imagen.y almacenar en sql server 2014
o en diferente versiones.de motor de base de datos.
Nuestro base de datos.en sql server 2014.
2. codificamos..
nuestros variables publicas..a nivel formulario
codigo para mostrar datos registrado en datagridview
bueno en este articulo les comparto ..a como insertar una imagen.y almacenar en sql server 2014
o en diferente versiones.de motor de base de datos.
Nuestro base de datos.en sql server 2014.
USE [EJEMPLO]
GO
/****** Object: Table [dbo].[Product] Script Date: 22/10/2016 05:39:21 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Product](
[Id] [int] NOT NULL,
[descripcion] [varchar](50) NULL,
[imagen] [image] NULL,
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
procedimiento almacenado para guardar..
USE [EJEMPLO]
GO
/****** Object: StoredProcedure [dbo].[guardaproduct] Script Date: 22/10/2016 05:41:18 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo].[guardaproduct]
@id char(10),
@descripcion varchar(50),
@imagen image
as
insert into product values(@id,@descripcion,@imagen)
GO
- primero diseñamos nuestro formulario como en siguiente imagen--
2. codificamos..
nuestros variables publicas..a nivel formulario
Public Class Form1
Dim cn As New SqlConnection("Data Source=cristian;Initial Catalog=EJEMPLO;Integrated Security=True")
Dim NOMBREARCHIVO As String = 0
Dim SW As Integer = 0
Public Shared imagen() As Byte
codigo para mostrar datos registrado en datagridview
Sub cargadata()
Try
Dim da As New SqlDataAdapter("select*from product order by id desc", cn)
Dim ds As New DataSet
da.Fill(ds, "producto")
Me.TextBox1.DataBindings.Add("text", ds, "producto.id")
Me.TextBox2.DataBindings.Add("text", ds, "producto.descripcion")
' Me.PictureBox1.DataBindings.Add(imagen)
' imagen = CType(ds.Rows(0).Item("imagen"), Byte())
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "producto"
'
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Codigo para boton guardar
Dim FSFOTO As New FileStream(NOMBREARCHIVO, FileMode.Open, FileAccess.Read)
Dim INFOFOTO As FileInfo = New FileInfo(NOMBREARCHIVO)
Dim TEMPORAL As Long = INFOFOTO.Length
Dim LONGITUD As Long = Convert.ToInt32(TEMPORAL)
Dim imagenes(LONGITUD) As Byte
FSFOTO.Read(imagenes, 0, LONGITUD)
FSFOTO.Close()
Try
Dim CMD As New SqlCommand("guardaproduct", cn)
Dim PAR As New SqlParameter
cn.Open()
With CMD
.CommandType = CommandType.StoredProcedure
PAR = .Parameters.Add("@id", SqlDbType.Char, 10)
PAR.Value = TextBox1.Text
PAR = .Parameters.Add("@descripcion", SqlDbType.VarChar, 50)
PAR.Value = TextBox2.Text
PAR = .Parameters.Add("@imagen", SqlDbType.Image)
PAR.Value = imagenes
CMD.ExecuteNonQuery()
MsgBox("Producto guardado", MsgBoxStyle.Information, "sistema")
cn.Close()
'cargadata()
End With
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cargadata()
codigo para buscar imagen a guardar en la base de datos
Try
'Dim file As New OpenFileDialog()
'file.Filter = "Archivo JPG|*.jpg"
'If file.ShowDialog() = DialogResult.OK Then
' PictureBox1.Image = Image.FromFile(file.FileName)
'End If
With OpenFileDialog1
.Filter = "(ARCHIVOS JPG)*.JPG|*.JPG"
'.InitialDirectory = "C:\"
'.Title = "FOTOS DE CLIENTES"
If (.ShowDialog = DialogResult.OK) Then
NOMBREARCHIVO = .FileName
PictureBox1.Image = Image.FromFile(NOMBREARCHIVO)
End If
If Len(NOMBREARCHIVO) > 0 Then
SW = 1
Else
SW = 0
End If
End With
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
y por ultimo para consultar imagen o producto guardado en bd
Sub consulta()
Dim n As String
n = InputBox("Digite el Codigo a Buscar")
Dim CMD As New SqlCommand("SELECT * FROM product WHERE id='" & n & "'", cn)
Dim DR As SqlDataReader
cn.Open()
DR = CMD.ExecuteReader
If DR.Read Then
TextBox1.Text = DR(0)
TextBox2.Text = DR(1)
imagen = DR(2)
' imagen = CType(dt.Rows(0).Item("image"), Byte())
Dim ms As New MemoryStream(imagen)
'Se nombra el control PictureBox de nombre ptbimagen
With PictureBox1
'Se utiliza esta propiedad Image, seguido de la propiedad FromStream para
'generar un grafico seguido se le asigna una imagen al control
.Image = Image.FromStream(ms)
'Esta propiedad permite que la imagen se muestre centrada
.SizeMode = PictureBoxSizeMode.CenterImage
'Se utiliza esta propiedad para asignarle un borde
.BorderStyle = BorderStyle.Fixed3D
End With
Else
MsgBox("ERROR")
End If
cn.Close()
End Sub
bueno eso es todo..!!
0 comentarios:
Publicar un comentario
Dudas y sugerencias aqui