C/Visual C - Ayuda con la api de ODBC

 
Vista:

Ayuda con la api de ODBC

Publicado por Emilio (1 intervención) el 26/05/2004 18:36:44
Estoy intentando trabajar directamente con la Api de la ODBC, pero esta me dá un error.

//pido EnvironmentHandle y pongo propiedades
rc=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,0);

//pido ConnectionHandle
rc=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);

//conecto con la base de datos de access
rc=SQLDriverConnect(hdbc,NULL,(SQLCHAR*)cns,SQL_NTS,(SQLCHAR*)strOut,255,(SQLSMALLINT*)&iOut,SQL_DRIVER_NOPROMPT);

//pido StatementHandle
rc=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);

//selecciono todos los elementos de la tabla
rc=SQLPrepare(hstmt,(SQLCHAR*)szSQL,SQL_NTS);
rc=SQLExecute(hstmt);

//asigno los buffer de retorno para los campos en la consulta
rc=SQLBindCol(hstmt,1,SQL_C_ULONG,&persona.ci,sizeof(persona.ci),(SQLINTEGER*)&ret1);
rc=SQLBindCol(hstmt,2,SQL_C_CHAR,&persona.nombre,sizeof(persona.nombre),(SQLINTEGER*)&ret2);

//leo la primera fila
rc=SQLFetch(hstmt); //aqui dá el error

//libero StatementHandle
rc = SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
//me desconecto de la BD
rc=SQLDisconnect(hdbc);
//libero ConnectionHandle
rc = SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
//libero EnvironmentHandle
rc = SQLFreeHandle(SQL_HANDLE_ENV, henv);

Si alguien tiene alguna idea de que sea, por favor ayudenme. gracias de antemano. Emilio
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