¿Cómo leer y escribir imágenes desde la base de datos mdb usando programación vb?
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 image 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 Para el método de operación, debe comprender mejor la lectura y escritura de archivos binarios. Las operaciones básicas de bases de datos y archivos binarios se describen en detalle en muchos libros de referencia. Puede consultarlos antes de programar. las variables utilizadas en esta parte son las siguientes:
Dim RS como nuevo conjunto de registros ADODB
Chunk() como bytes
Const ChunkSize como entero = 2384
Divida el archivo de datos en números enteros y divida los bloques 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
1. Mostrar las imágenes requeridas en la base de datos
El primer paso es abrir la base de datos y ver si hay algo que esté buscando. Si es así, continúe la ejecución; en caso 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 convertirlos en un archivo de imagen. El proceso es el siguiente.
MediaTemp = strPath amp" picturetemp.tmp "
Archivo de datos = 1
Abra MediaTemp para acceso binario y escriba como archivo de datos
lngTamañoTotal = RS! Mi foto. Tamaño real
Fragmentos = lngTotalSize \ ChunkSize
fragmento = lngTotalSize Mod ChunkSize
ReDim fragmento (fragmento)
Chunk() = RS ! Mi foto. GetChunk(Chunk)
Coloque el archivo de datos, Chunk()
Para i = 1 en Chunk
ReDim Chunk(ChunkSize)
Trozo() = RS! Mi foto. GetChunk(ChunkSize)
Coloque el archivo de datos, Chunk()
Siguiente I
Cierre el archivo de datos
El tercer paso Es cerrar la base de datos para que se pueda mostrar la imagen deseada.
RS. Cerrar
Salir del sub
Imagen 1 si MediaTemp = " ". imagen = cargar imagen (mediatemplate)
si imagen1. Imagen = 0, luego salga de Subj
2 Agregue la imagen a la base de datos.
Agregar una imagen almacenada a la base de datos es el proceso inverso al de mostrar la imagen. Siempre que domine la operación de visualización de imágenes, la operación de almacenamiento de imágenes se resolverá fácilmente. Los siguientes pasos se describen a continuación.
El primer paso es abrir la base de datos, el proceso es el siguiente:
RS. Fuente = "seleccione * de Información"
RS. CursorType = adOpenKeyset
RS. LockType = adLockOptimistic
RS. ActiveConnection = "UID=PWD=;DSN=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! Mi foto. AppendChunk Chunk()
ReDim Chunk(ChunkSize)
Para i = 1 para Chunk
Obtener el archivo de datos, Chunk()
¡RS! Mi foto. 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.