C/Visual C - conexion a SQL server

 
Vista:

conexion a SQL server

Publicado por eriso (1 intervención) el 22/01/2003 18:50:58
como me conecto a sql server pormedio de un odbc
se que es con las clases CDatabase Y CRecordset
si me pueden poner un ejemplo se los agradeceria mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conexión a SQL Server mediante ODBC usando CDatabase y CRecordset

Publicado por Alejandro (980 intervenciones) el 28/04/2025 22:11:51
Eriso, para conectarte a un SQL Server utilizando ODBC en un entorno de MFC (Microsoft Foundation Class) con las clases `CDatabase` y `CRecordset`, puedes seguir el siguiente ejemplo:

Ejemplo de código



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <afxdb.h>  // Necesario para CDatabase y CRecordset
 
void ConnectToDatabase()
{
    // Crear un objeto de la clase CDatabase
    CDatabase database;
 
    // Cadena de conexión ODBC
    CString connectionString = _T("ODBC;DSN=TuDSN;UID=tu_usuario;PWD=tu_contraseña;");
 
    // Intentar abrir la conexión
    try
    {
        database.OpenEx(connectionString, CDatabase::openQuery);
        AfxMessageBox(_T("Conexión exitosa a la base de datos!"));
 
        // Crear un objeto CRecordset para realizar consultas
        CRecordset recordset(&database);
        recordset.Open(CRecordset::forwardOnly, _T("SELECT * FROM TuTabla"));
 
        // Leer los registros
        while (!recordset.IsEOF())
        {
            CString campo1, campo2;
            recordset.GetFieldValue(_T("Campo1"), campo1);
            recordset.GetFieldValue(_T("Campo2"), campo2);
            // Procesar los datos como sea necesario
            recordset.MoveNext();
        }
 
        // Cerrar el recordset
        recordset.Close();
    }
    catch (CDBException* e)
    {
        AfxMessageBox(e->m_strError);
        e->Delete();
    }
 
    // Cerrar la conexión a la base de datos
    database.Close();
}

Explicación del código



1. Incluir las bibliotecas necesarias: Asegúrate de incluir `afxdb.h`, que es necesario para trabajar con `CDatabase` y `CRecordset`.

2. Crear un objeto CDatabase: Se crea un objeto `CDatabase` que se utilizará para establecer la conexión con la base de datos.

3. Cadena de conexión ODBC: Define la cadena de conexión ODBC. Asegúrate de reemplazar `TuDSN`, `tu_usuario` y `tu_contraseña` con los valores correspondientes a tu configuración.

4. Abrir la conexión: Utiliza `OpenEx` para abrir la conexión. Si la conexión es exitosa, se muestra un mensaje.

5. Crear un CRecordset: Se crea un objeto `CRecordset` para realizar consultas a la base de datos.

6. Leer registros: Se utiliza un bucle para leer los registros de la tabla especificada. Puedes procesar los datos según sea necesario.

7. Manejo de errores: Se utiliza un bloque `try-catch` para manejar excepciones relacionadas con la base de datos.

8. Cerrar conexiones: Finalmente, se cierran el `CRecordset` y la conexión a la base de datos.

Notas adicionales



- Asegúrate de que el DSN esté configurado correctamente en tu sistema y que el controlador ODBC correspondiente esté instalado.
- Este ejemplo utiliza un enfoque básico; puedes expandirlo según tus necesidades específicas, como manejar transacciones o realizar operaciones de inserción y actualización.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar