¿Busca materiales de referencia para artículos sobre bases de datos de acceso?
1. Arquitectura de base de datos VB, estructura de base de datos específica de VB.
La estructura central de la base de datos VB es el llamado motor de base de datos Microsoft JET, que actúa como un "panel" en el que se pueden insertar varios controladores de datos ISAM (Método de acceso secuencial indexado). El motor JET proporciona soporte integrado directo para bases de datos en formato Access. Esta es la verdadera razón por la que VB tiene un amplio soporte para bases de datos de Access.
VB Professional Edition proporciona controladores ISAM para FoxPro, dBASE (o Xbase), Paradox, Btrieve y otras bases de datos, lo que permite que VB admita estos formatos de bases de datos. Además, muchos otros controladores compatibles con ISAM también están disponibles en el servicio posventa del fabricante. Por lo tanto, en teoría, VB puede admitir todos los formatos de bases de datos compatibles con ISAM (siempre que solo se obtengan los programas de interfaz del controlador ISAM para estas bases de datos).
Como se puede ver en lo anterior, el motor Ms JET esencialmente proporciona: un analizador que cumple con los estándares ANSI; funciones de administración de memoria para conjuntos de resultados de consultas que admiten bases de datos e interfaces internas; De hecho, en VB, la conversión de un tipo de base de datos a otro requiere poca o ninguna modificación del código. Además, aunque DDL (lenguaje de definición de datos) y DML (lenguaje de manipulación de datos) de dBASE y Paradox son consultas no estructuradas, aún pueden operarse mediante declaraciones VB SQL y motores JET.
Desde la perspectiva del código del programa VB, toda la estructura externa de ODBC, el controlador ISAM y la base de datos Ms Access se puede unificar en una interfaz de programación consistente. Es decir, la vista del objeto de conjunto de registros proporcionada al programador de aplicaciones de VB es independiente del formato y tipo de base de datos utilizado. Es decir, las bases de datos como FoxPro aún pueden usar muchas variables de objetos de acceso a la base de datos, lo que proporciona el método más importante para acceder a bases de datos que no son de Access.
El segundo es la configuración de parámetros y la lectura de parámetros de archivos de configuración cuando se utilizan bases de datos que no son de Access. Si utiliza operaciones de base de datos en un programa VB, después de generar la aplicación como un archivo EXE o empaquetarla como un programa de instalación, se crea un archivo de configuración (.INI) en el que se pueden configurar diferentes tipos de bases de datos. Si no se encuentra este archivo INI, no podrá acceder a la base de datos. Por lo general, el nombre del archivo INI es el mismo que el nombre de la aplicación, por lo que si no se especifica, el programa VB buscará en el subdirectorio de Windows un archivo INI con el mismo nombre que la aplicación. Puede utilizar la instrucción SetDataAccessOptions en VB para configurar el archivo INI.
El uso de la declaración setdataaccessories es el siguiente: setdataaccessories 1, IniFileName donde el parámetro IniFileName representa el nombre del archivo de ruta del archivo INI. Vale la pena señalar que cuando la aplicación no puede encontrar el archivo INI, o cuando llama a la función OpenDataBase, el valor del parámetro Connect no se establece en el valor estándar especificado por VB. Por ejemplo, el formato FoxPro 2.5 se establece en "FoxPro; ( debería ser "FoxPro 2.5), o el controlador ISAM correspondiente no está instalado, VB mostrará el mensaje de error "No se encontró ISAM instalable". Normalmente, los archivos INI se generan antes del lanzamiento de una aplicación, se generan dinámicamente durante la instalación o dentro de la propia aplicación. Normalmente, hay "[Opciones]", "[ISAM]", "[ISAM instalados]", "[FoxPro ISAM]", "[dBASE ISAM]" y "[Paradox ISAM]" en este archivo INI. Una aplicación completa también debe tener una sección de configuración que pertenezca a la propia aplicación, como "[MyDB]. Se pueden configurar parámetros importantes de la base de datos como tipo de datos, servidor, base de datos, OpenOnStartup, DisplaySQL, QueryTimeOut, etc., limitando así la Funcionalidad general del entorno de ejecución de la aplicación. La función de interfaz API de Windows proporciona una función OSWritePrivateProfileString en la biblioteca de enlaces dinámicos Kernel.exe, que se puede escribir en el formato de archivo de configuración (.INI) en Windows. En términos generales, la aplicación también debe leer los parámetros relacionados con el archivo de configuración en tiempo de ejecución, como PageTimeOut (tiempo de espera de bloqueo de página), MaxBufferSize (tamaño del búfer) y LockRetry (número de reintentos cuando falla el bloqueo), lo que mejorará en gran medida. configuración del entorno de ejecución de la aplicación y posible captura de errores.
Si el archivo de configuración de esta aplicación es MyDB.ini, el proceso específico es el siguiente: función getINIstring $(Byval fname $, Byval szDeFault$). ' esta subfunción personalizada implementa la lectura de los parámetros de la sección de configuración en el archivo INI x es un número entero Tmp = String (2048, 32).
INI " ) GetINIString = Mid$( Tmp, 1, x ) End
Función La declaración de las siguientes funciones se puede escribir en el archivo del módulo y cada función debe declararse en una línea: Función de declaración osgetprivatefprofiling Lib "Kernel "Alias "getprivatefprofiling"(ByVal AppName $, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$) Función de declaración OSWritePrivateProfileString Lib "Kernel" Alias "WritePrivateProfileString" ( ByVal AppName $, ByVal KeyName$, ByVal FileName$)
El archivo INI indica que el controlador ISAM correspondiente está instalado para varios formatos de bases de datos X = oswriteprivateprofilestring(" ISAM instalables ", " Paradox 3.x ", " PDX110.dll "). "MiBD. INI") x = OSWritePrivateProfileString(" ISAMS instalable ", " dBASE III ", " XBS110. DLL ", " MyDB. INI ") MyDB.INI")x = OSWritePrivateProfileString("ISAMS instalable", "FoxPro 2.0", "XBS110 .DLL", "MyDB.INI") , "MyDB.INI") x = OSWritePrivateProfileString("ISAMS instalable", "Btrieve", "BTRV110.DLL", "mydb.INI") mydb.ini ")' representa el ubicación del archivo INI x = OSGetWindowsDirectory(tmp, 255) st = mid $ (tmp, 1, x) setdataacceptance 1, st "/mydb. ini " 'Para obtener algunos parámetros del archivo INI gwmaxgridrows = Val(GetINIString(" MyDB . INI ", " MaxRows ", " 250 ")) glQueryTimeout = Val(GetINIString ( " MyDB . INI ", " QueryTimeout ", " 5 " ))glLoginTimeout = Val(GetINIString("MyDB.
INI "," LoginTimeout ", " 20 " )) End Sub
3. Métodos de programación de variables de objetos de acceso a datos y ejemplos de bases de datos extranjeras Entre los tres métodos de programación de bases de datos de la versión profesional de VB, el segundo método —— El uso de variables de objetos de acceso a la base de datos (DAO) es el más potente y flexible. Puede acceder a las funciones de administración de ODBC 2.0 en el programa; puede controlar varios tipos de conjuntos de registros: objetos de conjunto de registros dynaset, instantáneas y de tabla; acceder a objetos de colección de bases de datos como TableDefs, Fields, Indexes y QueryDefs; y tiene la capacidad de manejar cosas realmente. Por lo tanto, este método es muy adecuado para la mayoría de los casos de procesamiento de bases de datos. VB no tiene nada que ver con el formato y el tipo de base de datos utilizada, el método de variables de objetos de acceso a la base de datos también se puede usar en bases de datos que no son de Access. Por lo tanto, usar variables de objetos de acceso a la base de datos también es la mejor opción para bases de datos externas como FoxPro. Cabe señalar que en la versión estándar de VB, solo puede usar controles de datos para acceder a registros en la base de datos, y otros objetos importantes como TableDef, Field e Index solo se pueden proporcionar a través de las propiedades del control de datos. , QueryDef, Snapshot y Table no se pueden generar en la versión estándar de VB, por lo que el método de acceso a las variables del objeto de datos solo se puede utilizar en la versión profesional de VB 3.0 o superior. Creación de una nueva base de datos que no es de Access y modificación de la estructura de la base de datos Las variables del objeto de acceso a la base de datos en VB Professional Edition se pueden dividir en dos categorías, una se usa para el mantenimiento y la administración de la estructura de la base de datos y la otra se usa para los datos. acceso Los siguientes objetos se pueden utilizar para representar la estructura de la base de datos:
Base de datos, TableDef, campo, índice, tres colecciones): TableDefs, campo, índice Cada colección se compone de varios objetos. Estos objetos de datos se pueden considerar como una matriz, a través del método de matriz. Una vez que se crea el objeto de la base de datos, se puede utilizar para modificar la estructura de la base de datos y procesar datos. Para bases de datos que no son de Access, la mayoría de ellos corresponden. un directorio, por lo que puede usar la instrucción MkDir de VB para crear un directorio, es decir, crear una nueva base de datos. Cada archivo de base de datos que no sea de Access puede verse como una tabla en este directorio, pero en realidad son independientes entre sí. /p>
El siguiente es un ejemplo de un programa para crear una nueva base de datos en formato FoxPro 2.5.
sub New()Dim DB 1 como base de datos, Td As TableDefs Dim t 1 como New Tabledef. F1 como nuevo campo, F2 como nuevo campo, F3 como nuevo campo Dim IX 1 como nuevo índice Dim Ruta Como cadena const DB _ text = 10, DB _ integer = 3c dir "/" Ruta $ = cuadro de entrada ("Ingrese un nuevo nombre de ruta: ", "Cuadro de diálogo de entrada") MkDir Path$ 'Crear un nuevo conjunto de subdirectorios DB 10) Establecer Td = Db1 . TableDefsT1. Name=
" MyDB " 'Crea una nueva tabla de datos llamada MyDB F1. Nombre = "Nombre", F1. Tipo = DB_TEXT, F1. Dimensiones = 20 F2. Nombre = "Clase", F2. Tipo = DB_TEXT, F2. Tamaño = 20 F3. ' Nombre = "Calificación", F3 tipo = db_integer t1 campos .
campo. Agregue F2 a la tabla de datos.