Red de conocimiento informático - Material del sitio web - ¿Cómo leer las imágenes (binarias) en la base de datos y mostrarlas en el control Imagen de la interfaz? [VB6.0]

¿Cómo leer las imágenes (binarias) en la base de datos y mostrarlas en el control Imagen de la interfaz? [VB6.0]

Resumen Este artículo utiliza VB6 y Access97 como herramientas de desarrollo para introducir la tecnología de almacenamiento y visualización de imágenes en la base de datos.

Base de datos de palabras clave, control de datos, binario, almacenamiento de imágenes, visualización de imágenes, ADODB, Recordset

La base de datos es la última tecnología de gestión de datos, una rama importante de la informática y un moderno computadora La base y el núcleo de los sistemas de información y aplicaciones informáticas. Hoy en día, con el rápido desarrollo de la ciencia y la tecnología, cuando los recursos de información son ubicuos y utilizados en todas partes, y se han convertido en un activo importante para varios departamentos, es particularmente importante para quienes participan en el desarrollo de programas.

Hoy en día, el funcionamiento de una base de datos no sólo se conforma con la operación única de caracteres y números, sino que el almacenamiento y visualización de imágenes ha adquirido especial importancia. El siguiente autor utilizará VB6.0 y Access97 como herramientas de desarrollo para presentar dos métodos de visualización y almacenamiento de imágenes, respectivamente.

Uso de controles de datos y controles de enlace de datos

Con este método, puede construir una aplicación de base de datos simple sin escribir ni escribir una pequeña cantidad de código. Este método es fácil de aceptar. por principiantes. Antes de dar un ejemplo, permítanme explicar brevemente la función de enlace de datos. Todos los controles con propiedades DataSource son sensibles a los datos y pueden utilizar datos directamente en la base de datos a través de controles de datos. Por ejemplo, CheckBox Control, ComboBox Comtrol, TextBox Control, PictureBox Control, Image Comtrol ... Debido a que este método implica relativamente pocos puntos de conocimiento y es más fácil de entender, no lo explicaré en detalle, sino que presentaré directamente los pasos de programación.

1. Muestre las imágenes requeridas de la base de datos.

Primero, agregue un control de datos, establezca sus propiedades DatabaseName y RecordSource,

strPath = App .Path.

Si Right(strPath, 1) <> "\" Entonces

strPath = strPath & "\"

MyData.DatabaseName = strPath & " EjemploDB. mdb" 'Dirección del inventario de datos

MyData.RecordSource = "Info" 'Nombre de la tabla

El segundo paso es agregar un control Imagen para mostrar imágenes y establecer su propiedad DataSource y DataField. Por ejemplo, en este ejemplo: Image1.DataSource="MyData" e Image1.DataField="MyPhoto". Luego configure otros controles con funciones de enlace de datos para mostrar otro contenido que desee. Después de estos dos pasos, puede ejecutar el programa para mostrar los datos que desee.

2. Agregue imágenes que deben almacenarse en la base de datos.

Primero, use la propiedad AddNew del control de datos para agregar un botón, haga doble clic y agregue el siguiente código MyData. .Recordset.AddNew

El segundo paso es especificar la ruta de la imagen Image1.Picture = LoadPicture("Picture Path") para la imagen de control de imagen. Después de estos dos pasos, puede agregar imágenes a la base de datos.

Este método es el más sencillo y rápido, y requiere muy poco código. Sin embargo, este método tiene ciertas limitaciones en términos de velocidad de ejecución y flexibilidad. Es adecuado para principiantes y para algunas aplicaciones simples. Si desea mostrar imágenes de manera flexible, el método que se presenta a continuación puede ser más adecuado para sus necesidades.

Utilice la escritura de código para realizar el almacenamiento y visualización de imágenes

En comparación con el método uno, este método requiere una mayor cantidad de código, pero su funcionamiento es flexible y puede cumplir con varias formas. de operaciones. Favorecido por más programadores. Sin embargo, el conocimiento involucrado es relativamente mayor. No solo debe dominar el método de operación de la base de datos, sino que también debe tener una mayor comprensión de la lectura y escritura de archivos binarios.

Hay muchos libros de referencia que describen las operaciones básicas de bases de datos y archivos binarios con más detalle. Consúltelos cuando sea necesario. Antes de programar, describa las variables utilizadas en esta parte de la siguiente manera:

Dim RS As New ADODB.Recordset

Dim Chunk() As Byte

Const ChunkSize As Entero = 2384

Atenuar archivo de datos como entero, fragmentos, fragmento como entero

Atenuar MediaTemp como cadena

Atenuar lngOffset, lngTotalSize como largo

Atenuar i como entero

1. Mostrar las imágenes requeridas de la base de datos

El primer paso es abrir la base de datos para ver si hay algo que desee encontrar. , continúe la ejecución. Si no, simplemente salga

RS.Source = "select * from Info Where Name='" & sparaName &"';"

RS.ActiveConnection = "UID. =;PWD=;DSN= TestDB;"

RS.Open

Si RS.EOF Entonces RS.cCose: Salir Sub

El segundo paso es lea los datos binarios largos, es decir, los datos de la imagen, conviértalos en un archivo de imagen, el proceso de operación es el siguiente

MediaTemp = strPath & "picturetemp.tmp"

DataFile = 1

Abrir MediaTemp para acceso binario Escribir como archivo de datos

lngTotalSize = RS!MyPhoto.ActualSize

Chunks = lngTotalSize \ ChunkSize

Fragmento = lngTotalSize Mod ChunkSize

ReDim Chunk( Fragmento)

Chunk() = RS!MyPhoto.GetChunk(Fragmento)

Poner DataFile, , Chunk()

Para i = 1 a fragmentos

p>

ReDim Chunk(ChunkSize)

Chunk() = RS!MyPhoto.GetChunk(ChunkSize)

Poner DataFile, Chunk()

Siguiente

Cerrar DataFile

El tercer paso es cerrar la base de datos para que la imagen deseada pueda ser desplegado.

RS.Close

Si MediaTemp = "" Entonces salga de Sub

Imagen1.Picture = LoadPicture(MediaTemp)

Si Imagen1. Imagen = 0 Luego salga de Subj

2. Agregue imágenes que deben almacenarse en la base de datos

Agregar imágenes almacenadas a la base de datos es el proceso inverso a mostrar imágenes. domine la operación de visualización de imágenes. La operación de almacenamiento de imágenes se resuelve fácilmente. Los pasos de la operación se presentan a continuación

El primer paso es abrir la base de datos. El proceso es el siguiente:

RS.Source = "seleccione * de Información;"

RS.CursorType = adOpenKeyset

RS.LockType = adLockOptimistic

RS.ActiveConnection = "UID =;PWD=;DSN=TestDB;"

RS.Open

El segundo paso es convertir la imagen que se almacenará en un archivo binario largo y almacenarlo en la base de datos. El proceso de operación es el siguiente

RS.AddNew

DataFile = 1

Abrir strPathPicture para acceso binario Leer como DataFile

FileLen = LOF(DataFile) ' Longitud de datos en el archivo

Si FileLen = 0 Entonces: Cerrar DataFile: RS.Close: Salir Sub

Chunks = FileLen \ ChunkSize

Fragmento = FileLen Mod ChunkSize

ReDim Chunk(Fragmento)

Obtener DataFile, , Chunk()

RS!MyPhoto.AppendChunk Chunk()

ReDim Chunk(ChunkSize)

Para i = 1 a fragmentos

Obtener DataFile, , Chunk()

RS!MyPhoto.AppendChunk Chunk( )

Siguiente i

Cerrar archivo de datos

p>

El tercer paso es cerrar la base de datos después de actualizar el registro. Esto completa el almacenamiento de las imágenes de datos en el archivo. base de datos.

RS.Update

RS.Close

Establecer RS ​​= Nada

Ambos métodos tienen sus propias ventajas de uso. Lectores Puede. tomar decisiones razonables basadas en su situación.

El método es fácil de implementar. No es igual que el de arriba.