Hola a todos:
Tengo la siguiente duda:
Resulta ser que tengo un programa en C que ejecuta queries sobre una base de datos por medio de ODBC
Sólo que tengo el siguiente problema:
En la base de datos que estoy ejecutando existen campos del tipo Date
cuando estoy directamente en la consola de la base de datos puede ejecutar un query de la siguiente manera:
SELECT * FROM TABLA WHERE FECHA = '2008-05-30'
O INCLUSO TAMBIÉN DE LA FORMA:
SELECT * FROM TABLA WHERE FECHA = "2008-05-30"
PERO EN MI PROGRAMA EN C, SI EJECUTO EL QUERY COMO ESTÁ DESCRITO ANTERIORMENTE NADA MÁS NO SE EJECUTA
ALGUIÉN ME PODRÍA AYUDAR PARA SABER ENTONCES CÓMO DEBE DE MANDAR EL QUERY?
Alguién me podría explicar qué es lo que me hace falta o cuál es mi fallo
LA PARTE DE MI CÓDIGO CORRESPONDIENTE ES LA SIGUIENTE:
char* stmt = "SELECT * FROM TABLA WHERE FECHA_COBRO='2008-05-30'";
status = SQLConnect(hDbc, (SQLCHAR*)"ODBCI", SQL_NTS, (SQLCHAR*)"USUARIO", SQL_NTS, (SQLCHAR*)"PASSWORD",SQL_NTS);
if(status == SQL_SUCCESS)
{
printf("CONECTADO\n");
}
else
{
printf("NO CONECTADO\n");
}
SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt); // Create Statement Handle
status = SQLExecDirect(hStmt, (SQLCHAR*)stmt, SQL_NTS); //DONDE stmt es la cadena query que llega como parámetro
if(status == SQL_SUCCESS)
{
printf("Query ejecutado de manera correcta\n");
}
else
{
printf("Query no se ejecutó\n");
}
La salida que me arroga este programa es la siguiente:
CONECTADO
Query no se ejecutó
De antemano gracias a todos