FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Error 'SQLQuery1: Cursor not returned from query'.
bueno este es el codigo 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)!="basededatos")) SQLQuery1->Next(); SQLQuery1->Refresh(); ClientDataSet1->UpdateCursorPos(); SQLQuery1->Bookmark=BM; SQLQuery1->Close(); SQLQuery1->SQL->Clear(); SQLQuery1->SQL->Add("use basededatos;"); SQLQuery1->Open(); Última edición por grandmasterdari fecha: 12-01-2008 a las 02:45:48. Razón: agregar etiqueta code |
#2
|
||||
|
||||
Hola.
En primer lugar, bienvenid@ al clubdelphi. Te invito a leer la guía de estilo y tamibén el hilo de la calidad de las preguntas. Con respecto de tu pregunta concreta, hará falta saber cual es el motor de base de datos que usas y la línea en concreto donde salta el error. En lo particular, no me parece que estes introduciendo SQL válido para ningún motor. Hasta luego. pd. He editado tu mensaje original para añadir la etiqueta [ code ], te invito a aprender a usarla, al igual que la etiqueta delphi y sql
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Aclaracion 01
gracias. bueno con respecto al motor de base de datos estoy utilizando mysql 5.0 con borland developer studio 2006 en c++, tambien tengo los nuevos drivers de mysql ya que el que trae el compilador es para una version anterior del motor de db. (si alguien lo quiere no duden en pedir, ya ke lleva tiempo encontrarlos) creo que ya saben como es la historia, utilizo esos 2 componentes para consultas: . . sqlconnection1 -----> sqlquery1 donde sql connection1 ya lo configuro en la vcl y se conecta sin ningun problema respetando el nuevo driver, esto seria en codigo, pues yo hice lo mismo en grafico Código:
Connection := TSQLConnection.Create(nil); Connection.DriverName := 'dbxmysql'; Connection.GetDriverFunc := 'getSQLDriverMYSQL50'; Connection.LibraryName := 'dbxopenmysql50.dll'; Connection.VendorLib := 'libmysql.dll'; Connection.Params.Append('Database=NAME_OF_DATABASE); Connection.Params.Append('User_Name=NAME_OF_USER'); Connection.Params.Append('Password=PASSWORD'); Connection.Params.Append('HostName=localhost'); tengo ke pasarle lo que quiero que haga Código:
SQLQuery1->SQL->add("show databases"); bueno, aparentemente se encuentra en SQLQuery1->Field tipo de dato TField y como es una especie de tabla lo ke recibo como respuesta realizo una busqueda del campo que me interesa de la siguiente forma Código:
while((!SQLQuery1->Eof)&&((SQLQuery1->FieldByName("Database")->AsString)!="basededatos")) SQLQuery1->Next(); hasta ahora vamos bien, pero ahora a mi objeto SQLQuery1 quiero hacerle otra consulta por ejemplo Código:
SQLQuery1->SQL->add("show tables"); Código:
SQLQuery1->SQL->Clear(); Código:
SQLQuery1->Open(); 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)!="basededatos")) 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 bueno espero haberme expresado bien no tengo problemas si hay ejemplos en delphi (caral) Última edición por grandmasterdari fecha: 12-01-2008 a las 02:46:19. |
#4
|
||||
|
||||
Hola
Ahora me acuerdo por que no me gusta c++ Lo que se podria hacer con un par de lineas en Delphi se complica en c. Por lo menos a mi me parece, nunca he necesitado crear el objeto Bases de datos, para que ? Bueno, solo opinion de Novato. Saludos |
#5
|
||||
|
||||
Cita:
De esa cuenta que sería posible tamibén en c++ builder realizar una aplicación sin crear la base de datos por código, de la misma manera que sería en Delphi posible realizar una aplicación donde esta se realice de esa manera. De hecho, yo he hecho algunas. Por ejemplo, una que en tiempo de corrida se conectaba a una cantidad configurable de bases de datos, para replicar información entre ellas. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
Muevo el hilo del foro SQL al foro de mySQL, pues el problema está relacionado con esa base de datos y no con el lenguaje SQL en si.
Insisto en el uso de etiquetas, solo que esta vez, te toca a vos editar el mensaje y ponerlas. Finalmente, siempre he creido que mySQL tiene un dialecto muy extraño. ¿Estas seguro que la instrucción show tables es un SQL válido para ese motor? Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
||||
|
||||
El que la herramienta lo acepte, no significa que sea un query válido para el motor.
El mismo comando existe, por ejemplo, en isql de firebird, pero es esta herramienta quien la traduce en el query adecuado. En ese caso podría ser:
Esto lo digo para afirmar mi postura que pueda no ser un sql válido. Realmente desconozco si lo sea o no en el caso de mysql. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
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 |
|