Foros del Web » Programación para mayores de 30 ;) » C/C++ »

EJECUCIÓN DE QUERY en C

Estas en el tema de EJECUCIÓN DE QUERY en C en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 20/06/2008, 14:44
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Busqueda EJECUCIÓN DE QUERY en C

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

Última edición por antonio_fregon; 20/06/2008 a las 16:19
  #2 (permalink)  
Antiguo 20/06/2008, 16:49
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: EJECUCIÓN DE QUERY en C

Imprime el valor de status cuando no tienes exito, mira esta pagina: http://msdn.microsoft.com/en-us/library/ms713611.aspx, hay varios errores posibles, tal vez el formato de la fecha no este bien, que se yo. Si imprimes el valor habria mas pistas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.