[C con Clase] programando con MYSQL API y C++: error 2014, elementos fuera de lugar

Salvador Pozo salvador en conclase.net
Mie Jun 18 10:26:11 CEST 2008


El pasado 2008-06-14 13:08:21, Nombrey escribió:

N> Hola estoy desarrollando un programa con la API de MYSQL para C++, y tengo problemas cuando quiero ejecutar: varias funciones mysql_query();
N> 
N> me suelta un error 2014 Commands out of sync; you can't run this command now, dice algo asi como que esta fuera de lugar... yo entiendo que es por que hay varias mysql_query();, ¿Podria ser por otra cosa? ¿Como soluciono esto ?
N> 
N> PD: la sintaxis del code SQL es correcta, la declaracion y el orden de la funcion mysql_query(); tb, escorrecta, sta todo bien...

Hola:

... no todo estará bien, si MySQL te da un error, es que algo está mal ;-)

Este error se suele dar cuando se mantienen dos o más consultas abiertas para la misma conexión.

Por ejemplo, haces una consulta sobre una tabla con mysql_use_result, y de forma anidada, sin cerrar esa consulta, haces otra sobre la misma tabla.

Lo que tampoco puedes hacer es modificar una tabla mientras mantienes abierta una consulta.

Para poder hacer lo primero debes usar mysql_store_result, y liberar el conjunto de resultados obtenidos mediante mysql_free_result, antes de hacer otra consulta.

Otra opción es usar diferentes conjuntos de resultados, si necesitas hacer consultas anidadas.

En general las soluciones dependen de tu problema concreto, y para dar una solución precisa, necesitaría conocer tu caso particular.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


Más información sobre la lista de distribución Cconclase