Urgente! Problema con SQL dinámico

Hola Experto:
Tengo el siguiente script para recuperar el numero de registros que finalizan con fecha de hoy. Si hago un TRACE ODBC veo que la sentencia que ejecuta es correcta y que devuelve una cantidad de filas.
Pero cuando intento pasar el valor a una variable me da siempre 0. Existan o no registros.
string ls_select, ls_where, ls_query, ls_dw_dinamic, ls_error
ls_select = "SELECT COUNT(idactuacion) FROM " + tabla
ls_where = " WHERE fecha_final = " + string(fecha_hoy) + " AND situacion = 1"
ls_query = ls_select + ls_where
messagebox("Select", ls_query)
integer prueba
DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;
PREPARE SQLSA FROM :ls_query ;
OPEN DYNAMIC my_cursor ;
FETCH my_cursor INTO :prueba ;
CLOSE my_cursor ;
messagebox("Cantidad", string(prueba))
¿Puedes ayudarme?
Gracias de antemano. Saludos

1 Respuesta

Respuesta
1
Proba esto:
1) Lo mismo que tienes pero sin lo de la fecha ya que tal vez ahí este el problema
2) ls_where = " WHERE fecha_final = ? AND situacion = 1"
//igual que antes
OPEN DYNAMIC my_curso USING :fecha_hoy;
//igual que antes
Si no anda escribí de nuevo
AldoB

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas