¿Cómo leer (binario) de la base de datos y mostrarlo en el control de imagen de la interfaz? [VB6.0]
Base de datos, control de datos, binario, almacenamiento de imágenes, visualización de imágenes, ADODB, conjunto de registros
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 están en todas partes y son inútiles, y se han convertido en un activo importante de varios departamentos, es particularmente importante para quienes participan en el desarrollo de programas.
Hoy en día, las operaciones de bases de datos ya no se conforman con la única operación de caracteres y números. El almacenamiento y visualización de imágenes también se han vuelto particularmente importantes. A continuación, el 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 vinculados a 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, lo cual es fácil de aceptar para los principiantes. . Antes de dar un ejemplo, expliquemos brevemente la función de enlace de datos. Todos los controles con la propiedad DataSource son sensibles a los datos y pueden usar directamente datos en la base de datos a través de controles de datos. Por ejemplo, control de casilla de verificación, control de cuadro combinado, control de cuadro de texto, control de cuadro de imagen, control de imagen... Debido a que este método implica relativamente pocos puntos de conocimiento y es más fácil de entender, no es necesario que explique más. Ahora presentaré directamente los pasos de programación.
1. Mostrar las imágenes requeridas en la base de datos.
Primero, agregue un control de datos y establezca sus propiedades DatabaseName y RecordSource.
strPath = Aplicación. ruta
If Right(strPath, 1) lt; gt "Entonces
strPath = strPath amp"\"
Mis datos.DatabaseName = strPath amp" EjemploDB .mdb " 'Dirección de la lista de datos
Mis datos. RecordSource = "Info " 'Nombre de la tabla
El segundo paso es agregar un control de imagen para mostrar la imagen y configurar su origen de datos y Propiedades de DataField Por ejemplo, en este caso: image 1.datasource = "Mis datos" e imagen 1.datafield = "Mis fotos". Luego configure otros controles con capacidades de enlace de datos para mostrar los demás contenidos que desee. En dos pasos, puede ejecutar el programa para mostrar los datos que desea.
2. Agregue la imagen a la base de datos.
Primero, use el control de datos. AddNew y haga doble clic en ella para agregar el siguiente código: MyData.Recordset.AddNew
Paso 2, especifique la ruta de la imagen 1. Imagen = Control de imagen Cargar imagen ("Ruta de la imagen después"). Al completar estos dos pasos, puede agregar la imagen a la base de datos.
Este método es el más simple y rápido, y la cantidad de código a escribir es pequeña, pero este método tiene ventajas en cuanto a velocidad de ejecución y flexibilidad. Ciertas limitaciones, adecuadas para principiantes y algunas aplicaciones simples. Si desea mostrar imágenes de manera flexible, el método que se describe a continuación puede ser más adecuado para sus necesidades.
Utilice código para almacenar y mostrar imágenes.
En comparación con el método, este método tiene una gran cantidad de código, pero la operación es flexible y puede cumplir con varias formas de operaciones. Es preferido por más programadores, pero implica relativamente más conocimiento y no solo requiere dominar el. base de datos cómo operar, también necesita aprender más sobre cómo leer y escribir archivos binarios.
Las operaciones básicas de bases de datos y archivos binarios se describen en detalle en muchos libros de referencia; puede consultarlos cuando sea necesario. Antes de programar, explique las variables utilizadas en esta sección de la siguiente manera:
Atenuar RS como nuevo ADODB. Conjunto de registros
Const ChunkSize como bytes
Const ChunkSize como entero = 2384
Divida el archivo de datos en números enteros y fragmentos y fragmentos en números enteros
Dim MediaTemp como una cadena
Dim lngOffset, lngTotalSize tiene la misma longitud
Marcar I como un número entero
Muestra todos los datos requeridos en la base de datos. fotos.
El primer paso es abrir la base de datos y ver si hay algo que estés buscando. Si es así, continúe la ejecución; de lo contrario, salga.
RS. source = " select * from Info Where Name = ' " & Spartan Name & "
RS. ActiveConnection = " UID = PWD = DSN = TestDB"
RS . Open
Si RS.EOF entonces RS.cCose: Salir Sub
El segundo paso es leer los datos binarios largos, es decir, los datos de la imagen, y el proceso de operación es el siguiente
MediaTemp = strPath amp" picturetemp.tmp "
Archivo de datos = 1
Abra MediaTemp para acceso binario y escriba como archivo de datos
lngTotalSize = RS! Tamaño real
Chunks = lngTotalSize \ ChunkSize
fragmento = lngTotalSize Mod ChunkSize
ReDim Chunks
p>Chunk() = RS!GetChunk(Chunk)
Coloque el archivo de datos, Chunk()
Para i = 1 en Chunk
ReDim Chunk(ChunkSize)
Chunk() = RS! GetChunk(ChunkSize)
Colocar archivo de datos, Chunk()
p>Siguiente
Cerrar el archivo de datos
El tercer paso es cerrar la base de datos para que se pueda mostrar la imagen deseada
Cerrar
Salir de Sub si MediaTemp = " "Image1.Image. =LoadImage(MediaTemplate)
Si Image1 = 0, entonces salga de Subj
2. Agregue la imagen a la base de datos.
Agrege la imagen almacenada a la base de datos. es el proceso opuesto a mostrar la imagen, siempre que domine la operación de mostrar la imagen y almacenarla. La operación se resuelve fácilmente. Los siguientes pasos son los siguientes:
El primer paso es. abra la base de datos el proceso es el siguiente:
RS.p>RS.CursorType = adOpenKeyset
RS. UID = PWD = TestDB"
RS. Abrir
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.
Agregar nuevo contenido
Archivo de datos = 1
Abrir strPathPicture para acceso binario, leer como archivo de datos
FileLen = LOF(archivo de datos)' en el archivo Longitud de los datos .
Si FileLen = 0, entonces: Cerrar archivo de datos: RS. Cerrar: Exportar conector
Chunks = FileLen \ ChunkSize
Fragmento = FileLen Mod ChunkSize
ReDim Chunks (Fragmento)
Obtener archivo de datos ,,bloquear()
RS! Mis fotos. AppendChunk Chunk()
ReDim Chunk(ChunkSize)
Para i = 1 para Chunk
Obtener el archivo de datos, Chunk()
¡RS! Mis fotos. AppendChunk Chunk()
A continuación
Cerrar el archivo de datos
El tercer paso, después de actualizar el registro, cerrar la base de datos y completar el almacenamiento de las imágenes de datos. en la base de datos.
RS. Actualización
RS. Cerrar
Establecer RS = Ninguno
Ambos métodos tienen sus propias ventajas de uso y los lectores pueden elegir razonablemente según sus propias circunstancias.
Este método es fácil de implementar. No es igual que el de arriba.