Guardar imagen en Mysql con .Net
Escrito en Diciembre 26, 2008 por Alex
Para guardar una imagen en Mysql desde Visual Basic .Net que puede ser en su versión 2005 o 2008 necesitamos lo siguiente:
Que en la base de datos MySql esté definido un campo de tipo “longblob” Este tipo de campo nos permite guardar datos en formato binario, de tal manera que está pensado para guardar archivos de cualquier tipo, entre ellos imágenes sin importar el formato.
En este ejemplo necesitamos de un formulario que contendrá un control PictureBox para mostrar la imagen, un OpenFileDialog para seleccionar la imágen desde archivo y dos controles de tipo Botón de comando, uno para llamar a el OpenFileDialog y otro para guardar la imagen en la base de datos.
El control PictureBox tiene la propiedad Size, que podemos cambiar su valor a Zoom para que nos ajuste la imagen de mejor manera.
Para guardar la imagen en la BD necesitamos convertirla a datos binarios y lo haremos con una función que utilizará el espacio de nombres System.IO. Lo mismo al obtenerla, necesitamos convertir datos binarios a imagen también creando otra función similar e inversa.
Como siempre necesitamos el conector MySql para .Net que está disponible en la página del fabricante o desde este post: Conectarse a MySql desde Visual Basic .Net y agregar la referencia al archivo.
Empezamos importando los espacios de nombres que utilizaremos, creamos la cadena de conexión, una cadena con la Query (Consulta Sql), los objetos MysqlConection, MysqlCommand y MysqlDataReader, una variable array de tipo Byte para almacenar los datos y una variable de tipo Image para guardar la imagen.
En este ejemplo tomamos en cuenta que tenemos una base de datos llamada “imagenes” y un campo dentro de ella llamado “logo” y buscaremos la imagen desde un campo llamado id con valor a 1.
y aquí pongo el código explicado:
'importamos los espacios de nombres necesarios Imports System.Data Imports MySql.Data.MySqlClient 'este espacio IO nos servirá para manipular los datos binarios 'a manera de stream (flujo)y se usa en las funciones bytes_image e image_bytes Imports System.IO Public Class Form1 #Region "variables y objetos" 'Crear cadena de conexión Dim ConStr As String = "server=localhost;uid=miuser;password=mipass;database=imagenes" 'creamos Query o consulta SQL para llamar el campo que contiene la imágen Dim Sql As String = "Select logo from imagenes where id='1'" 'crear objeto Conexión pasando como parámetro la cadena con los datos Dim Con As New MySqlConnection(ConStr) 'crear objeto comando que se encarga de ejecutar la Query pasando 'como parámetro la sentencia SQl o Query y el objeto que contiene conexión Dim Comando As New MySqlCommand(Sql, Con) 'crear objeto DataReader que lee datos de la BD Dim Dr As MySqlDataReader 'variable de datos Dim bDatos() As Byte 'variable de imagen Dim iImagen As Image #End Region #Region "Funciones para tratar imagenes" 'convertir binario a imágen Private Function Bytes_Imagen(ByVal Imagen As Byte()) As Image Try 'si hay imagen If Not Imagen Is Nothing Then 'caturar array con memorystream hacia Bin Dim Bin As New MemoryStream(Imagen) 'con el método FroStream de Image obtenemos imagen Dim Resultado As Image = Image.FromStream(Bin) 'y la retornamos Return Resultado Else Return Nothing End If Catch ex As Exception Return Nothing End Try End Function 'convertir imagen a binario Private Function Imagen_Bytes(ByVal Imagen As Image) As Byte() 'si hay imagen If Not Imagen Is Nothing Then 'variable de datos binarios en stream(flujo) Dim Bin As New MemoryStream 'convertir a bytes Imagen.Save(Bin, Imaging.ImageFormat.Jpeg) 'retorna binario Return Bin.GetBuffer Else Return Nothing End If End Function Public Function UpdateLogo(ByVal Sql As String, ByVal Data() As Byte) As String Dim Comando As New MySqlCommand(Sql, Con) Comando.Parameters.AddWithValue("?imagen", Data) Try If Not Con Is Nothing Then Con.Close() Con.Open() Dim res As Integer = Comando.ExecuteNonQuery() Return res.ToString Catch ex As Exception Return ex.Message Finally Con.Close() Comando = Nothing End Try End Function #End Region 'Esto ocurre en la carga del formulario 'y solo se ejecuta cuando ya existe una imagen en la BD Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Si no hay conexión activa se establece conexión con la BD 'siempre capturando errores con try Try If Not Con Is Nothing Then Con.Close() Con.Open() 'Una vez establecida la conexión ejecutamos la Query 'asignando el resultado al objeto MysqlDataReader Dr = Comando.ExecuteReader 'Mientras este leyendo, cada resultado que por la Query ' no es mayor a uno While Dr.Read 'lo guardamos en una variable de tipo array de bytes 'y convertimos en byte el resultado por si tenemos 'activado Option Strict en ON bDatos = CType(Dr("logo_img"), Byte()) 'si la consulta no genera datos salimos del Sub If bDatos.Length = 0 Then Exit Sub 'SI HAY DATOS 'al ser datos binarios, los convertimos a imagen 'con una funcion que hicimos llamada bytes_imagen 'asignandolo a la variable de imagen iImagen = Bytes_Imagen(bDatos) 'por último mostramos la imagen en el PictureBox PictureBox1.Image = iImagen End While 'en caso de error mostramos el mensaje Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'utilizamos el OPenFileDialog para seleccionar imagenes 'Establecemos titulo a mostrar Me.OpenFileDialog1.Title = "Seleccionar imágen" 'aquí por ser imagen les recomiendo abrir por default la carpeta 'mis imagenes y utilizamos una variable de entorno de windows 'Enviroment.SpecialFolder.MyPictures apunta a mis imagenes Me.OpenFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) 'filtramos solo imágenes de tipo JPG pero pueden ser cualquiera 'siempre es recomendable filtrar para evitar errores al seleccionar archivos Me.OpenFileDialog1.Filter = "Archivos de imágen(*.jpg)|*.jpg" ' abrir el diálogo Me.OpenFileDialog1.ShowDialog() End Sub 'AQUI UTILIZAMOS EL EVENTO FILE_OK 'PARA SABER EN QUE MOMENTO YA SE SELECCIONO UNA IMAGEN Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk 'obtener la imagen y mostrarla al pictureBox1 PictureBox1.ImageLocation = OpenFileDialog1.FileName End Sub 'Y EN ESTE EVENTO DEL BOTON GUARDAMOS LA IMAGEN EN LA BD Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try 'si se seleccionó archivo If OpenFileDialog1.FileName <> "" Then 'variable para datos Dim Img() As Byte 'convertir imagen a binario 'y guardar en variable Img = Imagen_Bytes(PictureBox1.Image) 'guardar la imagen en BD con parametros utilizando una funcion para guardar 'llamada Update Logo Dim res As String = UpdateLogo("UPDATE datosgenerales SET logo_img=?imagen WHERE id='1'", Img) 'aqui comprobamos si se modifico algun campo If res = "1" Then MsgBox("Imagen guardada") Else MsgBox("Imagen no se guardó") End If End If Catch ex As Exception End Try End Sub End Class
Es recomendable que las imágenes que se guarden en la base de datos sean JPG y evitar los BMP debido a que su tamaño puede afectar el rendimiento de la BD.
Si te gusto este artículo Suscribete a nuestro feed






Muy buen articulo, necesitaba algo parecido, muchas gracias por el post
Gracias por el post.
Aunque mi pregunta es: Esto se puede hacer para archivos PDF? Si no es asi, que me tocaría utilizar?
Gracias
RyDer:
Es muy parecido, Solo que necesitamos hacer algunos ajustes.
El ejemplo te lo pongo en el post siguiente ahorita mismo.
Pero yo no te recomiendo que guardes archivos pdf en mysql porque puede afectar el rendimiento de la Base de datos, además, hay archivos que son muy grandes y mysql ya no permite que se guarden y te puede ocasionar errores.
Lo que pasa Alex, es que no necesito guardalos en MySQL, ya que estan guardados.
Te explico mi caso:
El archivo PDF esta guardado en codigo binario en un modulo de SAP. Yo obtengo los datos y los concateno (ya que vienen en varios campos y varios registros) en una sola variable String (ya que es el unico tipo de datos que devuelve SAP). El detalle esta en que, aunque capturo los datos, los mando a escribir y el archivo lo genera, me sale el documento en blanco y un error diciendome “Error al leer el documento”.
Ya lo he intentado con varias cosas, pero hasta ahora nada funciona. Voy a probar el metodo que colocaste en el siguiente post y si no me funciona, te lo aviso desde ese post.
Gracias por todo.
Hola RyDer. No se si la concatenación que haces sea efectiva, pero estoy casi seguro que el problema anda por ahí.
De hecho la escritura del archivo no es binario puro de unos y ceros (10101010) sino la interpretación de estos en texto plano. Además, es posible que al hacer la concatenación, no se esten respetando tabuladores, retornos de carro(Enter) o saltos de linea y te lo esté escribiendo en una sola linea de corrido.
Para salir de dudas realice lo siguiente:
Convertí un archivo PDF a binario con estas lineas dentro de un botón:
Dim PDF() As Byte
PDF = PDF_Bytes(”c:\pruebas\archivo.pdf”) ‘aquí debe estar guardao el archivo PDF
Dim oFileStream As FileStream
‘ y en esta ruta queda guardado de manera binaria
oFileStream = New FileStream(”c:\pruebas\archivo.bin”, FileMode.CreateNew)
oFileStream.Write(PDF, 0, PDF.Length)
oFileStream.Close()
oFileStream = Nothing
Después lo volvi a leer desde el archivo binario para reconvertirlo a PDF
Dim oFileStream As FileStream
oFileStream = New FileStream(”c:\pruebas\archivo.bin”, FileMode.Open)
Dim Valor() As Byte
ReDim Valor(0 To CInt(oFileStream.Length))
oFileStream.Read(Valor, 0, Valor.Length)
‘utilizando la función que puse en el nuevo post y que carga el resultado en el control visor de PDFs
Bytes_PDF(Valor)
Y me mostro el archivo de nuevo.
Estaria bien que realizaras esta prueba y compararas tu archivo binario que resulta de la concatenación que haces desde SAP y el archivo binario del mismo archivo que resulta de esta función para ver si son iguales en tamaño y en contenido.
Hola Alex
Estoy muy agradecido por tu ayuda en mi proyecto de escuela todo salio muy biem y me dieron una buena calificacion. Gracias aprendi mucho de tu Post….
Sabes ahora me entro la curiosidad sobre programar en visual y tengo pensado realizar un checador de entrada y salida con ayuda de un lector de huella digital….ahora no se si este Post pueda ser de ayuda…ya que me imagino que la imagen de la huella digital debe ser la clave primaria en mysql, para poder asi realizar las comparciones pertinentes…
o bueno esa es la idea que tengo…no se tu como le harias
Saludos…
Nunca he hecho esto y tal vez no pueda ayudarte mucho, pero empalmar imágenes para encontrar una que corresponda no es un modo práctico de comparar las huellas digitales, porque una imagen borrosa de la misma huella puede parecer una imagen diferente y es raro que obtengas un empalme perfecto. Por otro lado, utilizar una imagen completa de la huella requiere de muchos recursos del procesador y es más fácil robar datos impresos de alguien.
Aquí un poco de info:
La mayoría de los lectores compara rasgos específicos de la huella digital, generalmente conocidos como minutiae. Típicamente, los investigadores humanos y computadoras se concentran en puntos donde las líneas de las crestas terminan o donde se separan en dos (bifurcaciones). Colectivamente estos y otros rasgos distintivos se llaman typica.
El software del sistema del lector utiliza algoritmos altamente complejos para reconocer y analizar estas minutiae. La idea básica es medir las posiciones relativas de la minutiae. Una manera simple de pensar en esto es considerar las figuras que varios minutia forman cuando dibuja líneas rectas entre ellas. Si dos imágenes tienen tres terminaciones de crestas y dos bifurcaciones formando la misma figura dentro de la misma dimensión, hay una gran probabilidad de que sean de la misma persona.
Entonces dos lecturas simultaneas de una misma huella pueden dar como resultado dos huellas distintas, tienes como factor la inclinación del dedo, la presión del usuario etc.
Busca en el sitio web de tu proveedor del equipo lector, puede ser que dispongan de un componente para desarrolladores que en muchos casos se llama SDK, ya que con el podrás obtener los patrones para almacenarlos en mysql. Pero como te dije, hay cosas que nunca he hecho con .Net porque no lo he necesitado y esto es lo más que puedo ayudarte.
hola
Okas. bueno solo era una curiosidad…pense que era mas facil pero bueno tendremos practicar con otras aplicaciones, gracias por el comentario …
Saludos…
hola Alex, primero que todo agradecer tus ganas de compartir tus conocimientos. te cuento estoy comenzando con el mundo .net y como trabajo en la universidad nos han dado una aplicacion donde he tenido un par dudas, el asunto es que tengo un proyecto web asp.net y estoy trabajando y la conecto con una BD mysql y lo que quiero es que por medio de esta aplicacion subir algunos archivos .txt a esta bd estoy usuando el fileupload de VS2005 pero aun no entiendo como funciona todos los post q he leido hablan de subirlas a un servidor y dan ejemplos y todo pero no entiendo como hacerlo para subirlos a mi DB me imagino que debe ser muy parecido a tu post aca. bueno mi pregunta es sabes como podria hacerlo????
sabes como funciona este fileupload.. sabes de algun post q me pueda ayudar… de ante manos muchas gracias
saludos….
Aqui esta el link que te guia como utilizar el File Upload de VB.NET Solo que es info en ingles.
Pero esta comprensible.
http://www.developer.com/net/asp/article.php/3689276
Saludos.
Ah pero es para Mysql:
http://www.daniweb.com/forums/thread46306.html#
de donde puedo bajar tu proyecto te lo agradeceria
Solo con copiar el código es suficiente para que obtengas el proyecto. este el todo el código de proyecto.
oigan master de .net necesito una pequeña ayuda, necesito hacer un proyecto en visual basic .net 2005 con una conexion a mysql, ya tengo instalado el conector .net mysql y si puedo visualizar los datos arrastrando la tabla al form1 pero necesito programar botones como guardar, eliminar, actualizar con textbox por favor como puedo hacerlo se los agradecere infinitamente y de antemano gracias.
cual quier eyuda agredeceria que me escribieran a mi correo porfavor suerte y cuidense.
perdon mil disculpas ando un poco mal mi correo es jc_darien@hotmail.com
Pues aqui esta el post para hacer eso
un favor ya pude guardar la imagen con este ejemplo , ahora quiero que me ayuden a mostrarla en un picture de vb .net
gracias.
En este ejemplo tambien dice como hacerlo.
Hola que tal, me eres de gran ayuda solo que tengo un problema con la aplicion no me manda ningun error solo que al ejecutarla seleccione la imagen y al guardarla me manda el mensaje de “Imagen no se guardo” nose a que se deba esto o que estoy haciendo mal
alex lo que pasa es que yo puse en el codigo Dim res As String = UpdateLogo(”UPDATE datosgenerales SET logo_img=?imagen WHERE id=’1′”, Img) y este solo me actualiza la imagen
y yo quiero es que me inserte imagenes pero que no la actualice.
escribi de esta manera y me dice imagen no guardada
Dim res As String = UpdateLogo(”insert into logo values (?imagen)”, Img)
alex el codigo del ejemplo actualiza y yo quiero es que me inserte, por favor coloque el pedasito de codigo para insertar ,el sql “insert int ……” pues yo nesecito insetar varias imagenes…. gracias por su ayuda
alex el codigo del ejemplo actualiza y yo quiero es que me inserte, por favor coloque el pedasito de codigo para insertar ,el sql “insert int ……” pues yo nesecito insetar varias imagenes…. gracias por su ayuda..
Andres cambia la sentencia UPDATE por INSERT
INSERT datosgenerales SET logo_img=?imagen WHERE id=’1′”, Img
Manuel:
Checate el tamaño de tu imagen que no sea demasiado grande.
Haz la prueba con oitras imágenes…
ya solucione el problema solo era el tipo de dato con el habia definido el campo en la bd,incluso ya logre guardar varios registros y realizar consultas de las distintas imagenes que guarde, muchas gracias por todo. solo una pregunta cual es tamaño maximo(en pixeles ó kb) de una imagen que se recomienda guardar en la BD. yo lo quiero implementar en una bd que guarde la foto de los empleados de un negocio X
ya mañana intentare realizar el royecto del datagrid. Saludos
Manuel:
El tamaño lo indica tu campo en el formulario.
Sin embargo considera que imagenes demasiado grandes alentan el rendimiento de la base de datos sobre todo si es una BD remota.
No creo que exista un tamaño recomendado, eso debe ser en base a tu rendimiento.
Alex muy buena informacion, como harias para obtener la imagen desde la camara web, con un boton tomar la foto y otro boton para guardar la foto en la base de datos., Saludos.
Alex disculpa me podrias ayudar con el codigo para hacer el inverso de este ejemplo, traer la info de la base de datos y convertirla a imagen y la muestre en un picture box, Gracias.
proximamente pongo un ejemplo de como manipular la camara web.
El ejemplo inverso de esto esta aqui mismo. Checate bien el código.
Alex muchas gracias, si el codigo esta ahi, ya puedo grabar y leer imagenes de mi BD MySQL.
alex gracias por el codigo ya pude solucionar el problema…
ahora lo que necesito saber y pues si usted sabe es.. como guardar un video en un formato no muy pesado en mysql desde vb y llamarlo.. asi como hizo con
las imagenes.
gracias …
si algo por favor me escribe al correo…
alex gracias por el codigo ya pude solucionar el problema…
ahora lo que necesito saber y pues si usted sabe es.. como guardar un video en un formato no muy pesado en mysql desde vb y llamarlo.. asi como hizo con
las imagenes.
gracias …
si algo por favor me escribe al correo…
Andres:
Aplica la misma función que está en este post:
http://www.mejoralex.com/almacenar-pdf-o-doc-en-mysql-con-vbnet
hola ese codigo es justo lo k necesitaba pero me marca error en eso Me.OpenFileDialog1.Title = “Seleccionar imágen”
si me pudieras asesorar en eso
gracias por el aporte
Homero, probablemente sea porque no has agregado el control OpenFileDialog desde el cuadro de herramientas.
Si no es así dime que error es el que te marca.
hola ota ves
gracias por la ayuda si me faltaba agregar ese componente,
resulta qu este ejemplo te actualiza sobre un registro existente osea ubdate where
yo nesesito hacer un inser into
sustitullo el ubdate po inser into
pero no me guarda
mi proyecto es el regidtro de un credencial tengo k ir registrando el nombre , id, los datos y la foto como un registro nuevo
de antemano gracias por el aporte y la ayuda
Hola muchas gracias por el codigo!… una pregunta… de que tipo debe ser la columna id de la base de datos ? jeje
de tipo “longblob”
Homero: Como le comente a Andres:
Cambia la sentencia UPDATE por INSERT
INSERT datosgenerales SET logo_img=?imagen WHERE id=’1′”, Img
alex disculpa mira como hago para que el id sea una variable?
INSERT datosgenerales SET logo_img=?imagen WHERE id=’1′”
te agradeceria mucho si me lo dijeras
mira el select lo hago perfecto, pero con lo que respecta al update para nada, no sé como hacer variable el id para que me guarde donde yo quiera sin necesidad de ir al codigo
ya no importa ya lo logré hacer pero me costo
Excelente articulo, me servio mucho. gracias
gracias por la ayuda, funciona super bien
Que onda tocayo (Alex) sabes necesito de tu ayuda…
Sabes ejecuto todo el code y no me marca error alguno, pero al momento de guardar la imagen me marca que no se guradó.
Mira mi tabla esta DB es la sig:
db > imagenes
table > datos
campos >id : longblob
>logo : longblob
no se en realidad que sea lo que estoy haciendo mal si mi codigo al momento de insertar es este.
Dim res As String = UpdateLogo(”INSERT datos SET logo_img=@imagen WHERE id=’2′”, Img)
La imagen ha de ser muy grande. prueba una mas pequeña para salir de dudas.
Hola nuevamente yo… sabes aun no puedo… me gustaria saber exactamente como es que se llama tu base de datos, los campos que utilizaste y el tipo— lo que pasa que ya me causa un conflicto al taratar de guardar la iimagen… de antemano gracias.
Ya tocayo ya me salio… lo que pasa es que lo estoy haciendo en VisualBasic 2010 pues solo hacia falta cambiarle unos detalles como lo son el par de comillas simples… ‘ ‘
De antemano gracias… y saludillos desde Ags, Mexico.
ke tal buena tarde oye estoy biendo ke esta muy bien esto pero lo aplico a mi proyecto no me marca herror de nada les cambie las conexiones y todo y a la hora de guardarlo me marca no se pudo guardar la imagen y asi es en la bd no aparece nada y aprovechando no tienes algun ejemplo asi como para imprimir directo desde un boton o algo asi como hacer un tiket y imprimirlo pero sin el printdocument bueno lo que kiero es ki no salga el cuadro de seleccionar impresora y hacer el formato del mismo
Hola solo necesito saber como pongo un OpenFileDialog en asp.net, solo encuentro el input file, pero no me sirve con este codigo por que no me jala nada
Cristina:
No creo que sea posible. Quizá lo que necesitas es el UploadDialog.
Saludos.
Cristina:
No creo que sea posible. Quizá lo que necesitas es el FileUpload.
Saludos.
Hola alex sabes creo que me sirve mucho tus post pero la idea de mi aplicacion es que tome foto con una camara web y ue la imagen sea guardada en la base de datos estoy haciendo la prueba con tu ejemplo pero me marca error cres que puedas ayudarme con la parte de la camara web por que me imagino que solo me faltaria eso como manejar la camara por que la imagen la guardaria asi como tienes tu este ejemplo o estoy mal por fa si me puedes ayudar te lo agradeceria mucho
Alex disculpa de nuevo mira quisiera saber si puedes eplicarme la ultma consulta que hace donde dice que cambiemos el update por un insert por que al igual que homero yo tambien quiero insertar apenas una imagen que yo selecciones podrias explicar como tienes tu tabla y esa sentiencias que hace en el boton numero 2 sale te lo agradeceria mucho
Luis:
Primero necesitas saber la capacidad del campo LongBlob y ver si la imágen que generas no es demasiado grande y supera el limite.
En cuanto a lo del Insert es solo cuestión de meterse más a consultas SQL.
Para Insertar una imagen le pones:
“INSERT datosgenerales SET logo_img=?imagen”
Para hacer un update le pones la que ya esta en el ejemplo.
Saludos.
de donde sacan datosgenerales que es ? campo , tabla , bd ??? ayuda porfavor
INSERT datosgenerales SET logo_img=?imagen WHERE id=’1′”, Img
Necesitas aprender la sintaxis SQL donde dice:
INSERT tabla SET campo
Entonces es una tabla.
Hola alex tengo todo el codigo pegado y me pasa lo mismo que les pasa a todos dice imagen no guardada podes decir como esta creada tu base de datos y de que tamaño limite son las imagenes?
Gracias
Hola alex,buen dia desde venezuela!!!
a mi me ejecuta el codigo perfecto.
mi pregunta es la siguiente..
quiero agregar un registro nuevo (ya colocaste como) pero con solo 1 campo(el de imagen) si quiero agregarle otro campo en la sentencia, trabajaria igual que las sentencias sql?
es decir lo que va dentro de las comillas estas “UPDATE imagenologiatemp SET IMAGEN=?imagen WHERE CODIGO=’000001′” es la sentencia sql que yo quiera (agregar o modificar)
coloca por favor un ejemplo de como se agregaria un registro con 2 ó 3 campos, ejemplo
INSERT datosgenerales SET logo_img=?imagen, id = ‘2′, descripcion =’esta es la descripcion’ WHERE id=’1′”, Img
corrige si esta mala por favor.!! saludos y disculpa tanta joda.!
hola bnas quisiera saber si es necesario la clase (imports system.data.odbc) para guardar los datos en mysql o es suficiente las clases que pusiste??
abra alguna restriccion al usar la version express de visual 2008 ??
Hola Alex gracias por tu post
pero tengo un problema con esta linea
Dim Sql As String = “Select logo from imagenes where id=’1′”
cuando ejecuto la aplicacion me sale que no existe el objecto imagenes
Imagenes se refiere al nombre de la tabla?????
porfavor lo necesito cuanto antes
gracias
Muchas gracias, muy útil
saque dos partes
y solucioné mi problema