Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
No hay que retornar nada. Si está abierto, lo cerras con close y luego lo abris con open.

He visto un mensaje de error similar al tuyo, en otros motores.

Ocurre cuando el query no retorna un cursor (según dice el propio mensaje) , que es cuando el query contiene instrucciones como insert/update/delete. En ese caso, en lugar de open (que "abre el query", es decir, procesa el cursor devuelto), se utiliza el método ExecSQL, que ejecuta la sentencia pero no espera obtener un cursor a cambio.

Espero haberme explicado y que de alguna ayuda te sirva.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #2  
Antiguo 11-01-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
Post Aclaracion 03

claro al ocupar el "SQLQuery1->ExecSQL()", ejecuta la instruccion sql que esta en el atributo SQLQuery1->Text, pero e de aqui, que yo necesito los resultados de la consulta, para poder trabajar con esta,
Responder Con Cita
  #3  
Antiguo 12-01-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 22
keyboy Va por buen camino
En el código que pones no cierras la primera consulta antes de abrir la segunda. No me parece muy lógico, pero puede ser que por ahí esté el problema, aunque más parece ser problema del driver en cuestión. Y confirmo que "show tables" sí es una consulta SQL válida para MySQL y, similar al SELECT, regresa un cursor, esto es, un conjunto de registros, que para el Dataset debe ser exactamente lo mismo. Por ello es que pienso que se trata de un driver defectuoso.

Bye
Responder Con Cita
  #4  
Antiguo 12-01-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
Post Aclaracion 04

keyboy, tu duda sobre el driver reforzo mi duda sobre el driver y me puse a buscar otro, probe con uno de "core lab" el cual es pago, me baje la version trial y tambien me da el mismo error, asique lo doy por descartado
Responder Con Cita
  #5  
Antiguo 12-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Creo que solo estamos adivinando. Desde mi primera intervención te pregunté en que línea salta el error. Mientras no lo sepamos... menos clara tendremos la idea, y en ese estado podremos cambiar de driver, de motor de base de datos, de sistema operativo o de herramienta de programación, y probablemente el problema persista.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 12-01-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
Post Aclaracion 05

la linea del error ya fue marcada, es en el segundo "SQLQuery1->Open()"
Responder Con Cita
  #7  
Antiguo 12-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Veamos, hay algo que no entiendo, estas usando un bookmark de otra consulta para usarlo en una diferente????

Código:
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("show tables");
SQLQuery1->Open();
TBookmarkStr BM= SQLQuery1->Bookmark;  //????????????
SQLQuery1->First();
 while((!SQLQuery1->Eof)&&((SQLQuery1->FieldByName("Database")->AsString)!="sircdb"))
            SQLQuery1->Next();
SQLQuery1->Refresh();
ClientDataSet1->UpdateCursorPos(); //?????????????
SQLQuery1->Bookmark=BM; //????????????
SQLQuery1->Close();
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("use basededatos;");  
SQLQuery1->Open(); //el error sale en esta linea
No se, yo creo que por ahi esta el problema.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 12-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cita:
Empezado por grandmasterdari Ver Mensaje
la linea del error ya fue marcada, es en el segundo "SQLQuery1->Open()"
Bueno... la verdad desconozco si en mySQL es un query válido eso de use basededatos;, pero si lo es, dudo que devuelva un cursor. ¿estas seguro de eso?

En segundo lugar, en este mensaje dijiste que se trata de un open, pero nunca aclaraste que se tratase del segundo. Desde el inicio era obvio que era un Open el que originaba el error... no me imagino a otra instrucción provocando un error como este.

La solución que te he dado (si es que es esto), estoy seguro que si hubieses intentado al menos comprender lo que ya te he dicho antes, pudiste alcanzarla por vos mismo.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error Creating cursor handle jose_205711 Conexión con bases de datos 3 06-11-2010 10:04:02
Error creating cursor handle miguel_fr SQL 6 02-01-2007 12:47:09
Error: puntero no regresa de la consulta o Cursor not Returned from query The_figo MySQL 0 23-11-2006 20:08:55
error "Subquery returned more than 1 value" lynu SQL 1 14-08-2006 16:16:25
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 17:30:28


La franja horaria es GMT +2. Ahora son las 13:23:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi