Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar vc 6.0 para acceder a la base de datos de SQL Server

Cómo utilizar vc 6.0 para acceder a la base de datos de SQL Server

Desde bases de datos con funciones simples (como Jet Engine) hasta complejos sistemas de bases de datos a gran escala (como Oracle), VC 6.0 proporciona algunas interfaces de programación. Este artículo presenta principalmente los siguientes cinco tipos: 1. API ODBC; 2. Clase ODBC de MFC; 3. Clase DAO de MFC (objeto de acceso a datos); 4. OLE/DB de MFC. 6. Acceso remoto a datos RDO

1. Conexión de base de datos abierta (API ODBC): proporciona una interfaz de programación común, lo que permite que los programas se conecten a una variedad de bases de datos diferentes. Proporciona controladores para Oracle, SQL Server, MS Excel, etc., lo que permite a los usuarios utilizar declaraciones SQL para operar directamente las funciones subyacentes de la base de datos. Cuando se utiliza la API ODBC, los archivos de encabezado que los usuarios deben importar son "sql.h", "sqlext.h" y "sqltypes.h". La creación de una aplicación de base de datos utilizando la API ODBC sigue ciertos pasos básicos:

El primer paso es asignar el entorno ODBC e inicializar algunas estructuras internas. Para completar este paso, debe asignar una variable de tipo SQLHENV para usarla como identificador en el entorno ODBC.

El segundo paso es asignar un identificador de conexión a cada fuente de datos a utilizar, lo cual se completa con la función SQLALLocHandle().

El tercer paso es utilizar SQLConnect() para conectar el identificador de conexión a la base de datos. Primero puede configurar los atributos de conexión a través de SQLSetConnectAttr().

Luego puede operar declaraciones SQL. Debido a limitaciones de espacio, las funciones relevantes no se presentarán en detalle. Los lectores pueden consultar los libros relevantes.

Una vez completada la operación y el usuario recupera los resultados correspondientes, puede cancelar la conexión a la base de datos.

Finalmente, es necesario liberar el entorno ODBC.

La API ODBC se caracteriza por sus potentes y ricas funciones, que proporcionan operaciones asincrónicas, procesamiento de transacciones y otras funciones avanzadas, pero la programación correspondiente es compleja y la carga de trabajo es grande.

2. Clase MFC ODBC: En versiones posteriores a MFC 1.5 se introdujo una clase que encapsula funciones ODBC. Estas clases proporcionan interfaces con ODBC para que los usuarios puedan realizar operaciones de bases de datos sin tener que lidiar con el complicado procesamiento en la API de ODBC. Las principales clases ODBC de MFC son las siguientes.

Clase CDatabase: un objeto CDatabase representa una conexión a una fuente de datos a través de la cual se puede manipular la fuente de datos. Las aplicaciones pueden usar múltiples objetos CDatabase: construir un objeto y llamar a la función miembro OpenEx() para abrir una conexión. Luego construya un objeto CRecordSet para operar la fuente de datos conectada y pase el puntero del constructor del conjunto de registros al objeto CDatabase. Utilice la función miembro Close() para destruir el objeto CDatabase una vez finalizado su uso. En circunstancias normales, no es necesario utilizar el objeto CDatabase directamente, porque el objeto CRecordSet puede implementar la mayoría de las funciones. Pero al realizar el procesamiento de transacciones, CDatabase juega un papel clave. La transacción se refiere a reunir una serie de actualizaciones de la fuente de datos y enviarlas al mismo tiempo o no enviarlas en absoluto, para garantizar la exactitud de los datos cuando varios usuarios operan en la fuente de datos al mismo tiempo.

Clase CRecordSet: un objeto CRecordSet representa una colección de registros seleccionados de una fuente de datos: un conjunto de registros. Hay dos formas de conjuntos de registros: instantánea y dynaset. El primero representa una vista estática de los datos, mientras que el segundo representa un conjunto de registros que se sincroniza con las actualizaciones de la base de datos realizadas por otros usuarios.

A través del objeto CRecordSet, los usuarios pueden realizar diversas operaciones con los registros de la base de datos.

Clase CRecordView: Un objeto CRecordView es una vista que muestra registros de base de datos en el espacio. Esta vista es una vista de formato que está directamente conectada a un objeto CRecordSet. Se crea a partir de un recurso de plantilla de diálogo y muestra los campos del objeto CRecordSet en los controles de la plantilla de diálogo. Los objetos utilizan los mecanismos DDX y RFX para automatizar el movimiento de datos entre controles de formato y campos de conjuntos de registros. Es decir, los usuarios pueden implementar un programa simple de visualización de registros de bases de datos sin siquiera escribir una línea de código.

Clase CDBException: Derivada de la clase Cexception, utiliza tres variables miembro heredadas para reflejar excepciones durante las operaciones de la base de datos:

m_nRetCode: Indica la causa del error en forma de ODBC código de retorno (SQL_RETURN) El motivo de la excepción.

m_strError: Cadena que describe el motivo del error que provocó que se lanzara la excepción.

m_strStateNativeOrigin: Cadena utilizada para describir errores anormales representados por códigos de error ODBC.

Las funciones miembro de la clase de base de datos MFC pueden generar excepciones de tipo CDBException, por lo que es correcto monitorear las excepciones después de que el código opera en la base de datos.

La clase MFC ODBC es la más utilizada en el desarrollo real porque tiene funciones ricas y es relativamente fácil de operar.

3.Programación MFC DAO (objeto de acceso a datos): DAO se utiliza para interactuar con la base de datos Access de Microsoft. Si la aplicación de base de datos solo necesita interactuar con la base de datos de Access, es más conveniente utilizar la programación DAO. Sus principales categorías son las siguientes.

CDaoWorkspace: el objeto CDaoWorkspace permite a un usuario gestionar todo el proceso de una sesión de base de datos protegida con contraseña especificada, desde el inicio de sesión hasta el cierre de sesión. En la mayoría de los casos, no tenga múltiples espacios de trabajo y no cree objetos de espacio de trabajo explícitos. Porque al abrir objetos de bases de datos y conjuntos de registros, pueden usar el espacio de trabajo predeterminado de DAO.

CDaoDatabase: representa una conexión, similar a la clase CDatabase anterior.

CDaoRecordSet: se utiliza para seleccionar un conjunto de registros y operarlo, similar a la clase CRecordSet anterior.

CDaoRecordView: similar a la clase CRecordView anterior.

CDaoException: similar a la clase CDBException anterior.

CDaoTableDef: Representa la definición de una tabla básica o una tabla adicional. Cada objeto de base de datos DAO incluye una colección llamada TableDef que contiene todos los objetos de definición de tabla DAO almacenados. Los objetos CDaoTableDef se pueden utilizar para controlar las definiciones de tablas.

CDaoQueryDef: El objeto CDaoQueryDef representa una definición de consulta (querydef).

CDaoFieldExchange: Soporta rutinas de intercambio de campos (DFX) DAO utilizadas por las clases de bases de datos. También puede manejar transacciones, similar a las clases ODBC de MFC.

MFC DAO solo se utiliza para admitir bases de datos de Access y su alcance de aplicación es relativamente fijo.

4.OLE DB: OLE DB proporciona una interfaz flexible de Modelo de objetos componentes (COM) entre el proveedor de datos y el usuario. Esta flexibilidad a veces complica las operaciones. El marco OLE DB define tres clases básicas para aplicaciones.

Proveedor de datos: una aplicación que contiene sus propios datos y los muestra en forma de tabla. Al proporcionar la interfaz COM de conjunto de filas de OLE DB, el rango de visualización puede variar desde un simple proveedor de una única tabla de datos hasta un sistema de base de datos distribuido más complejo.

Consumidores: Aplicaciones que utilizan la interfaz OLE DB para controlar los datos almacenados en el proveedor de datos. Las aplicaciones de usuario se clasifican en clases de uso.

Proveedor de Servicios: es una combinación de proveedor de datos y usuario. El proveedor de servicios no tiene sus propios datos, pero utiliza la interfaz de consumidor OLE DB para acceder a los datos almacenados en el proveedor de datos. Luego, el proveedor de servicios pone los datos a disposición del consumidor abriendo la interfaz del proveedor de datos. Los proveedores de servicios se utilizan a menudo para proporcionar servicios de alto nivel a aplicaciones, como consultas distribuidas avanzadas.

Al programar en OLE DB, los usuarios utilizan objetos componentes para desarrollar aplicaciones. Estos componentes son:

Enumerador: se utiliza para enumerar las fuentes de datos disponibles

Fuente de datos: representa datos individuales y proveedores de servicios, se utiliza para crear conversaciones; >

Diálogo: se usa para crear transacciones y comandos;

Transacción: se usa para combinar múltiples operaciones en una sola transacción

Comando: se usa para enviar datos a la fuente de datos; comando (SQL), devuelve un conjunto de filas;

Error: se utiliza para obtener información de error.

5. ActiveX Data Objects (ADO): Es una interfaz orientada a objetos proporcionada por Microsoft, similar a OLE DB, pero la interfaz es más simple, tiene una gama más amplia de funciones y un mayor grado de flexibilidad. ADO se basa en COM y proporciona objetos que pueden ser utilizados por lenguajes de programación, además de VC, también proporciona aplicaciones para otras herramientas de desarrollo, como VB, VJ, etc. ADO es muy útil en aplicaciones de servidor, especialmente para páginas de servidor dinámicas ASP (Active Server Page).

La estructura de objetos ADO es similar a OLE DB, pero no depende de la jerarquía de objetos. En la mayoría de los casos, los usuarios solo necesitan crear y utilizar únicamente los objetos que deben procesarse. Las siguientes clases de objetos conforman la interfaz ADO.

Conexión: se utiliza para representar la conexión con la base de datos y procesar algunos comandos y transacciones.

Comando: se utiliza para procesar los comandos enviados a la fuente de datos.

Recordset: Conjunto de tablas utilizadas para procesar datos, incluida la obtención y modificación de datos.

Campo: se utiliza para representar información de la columna en el conjunto de registros, incluidos los valores de la columna y otra información.

Parámetro: se utiliza para transferir datos de un lado a otro entre comandos enviados a la fuente de datos.

Propiedad: Se utiliza para operar las propiedades detalladas de otros objetos utilizados en ADO.

Error: se utiliza para obtener información detallada sobre los errores que pueden ocurrir.

El uso de ADO en VC requiere operaciones COM y los métodos detallados no se describirán aquí.

En el popular entorno de desarrollo distribuido actual, VC 6.0 tiene grandes ventajas en el desarrollo de bases de datos. Aprenda a utilizar diferentes tecnologías en diferentes situaciones, lo que se dice que es beneficioso para los desarrolladores. una tecnología necesaria.