![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Una duda con TADODataSet
Hola a todos, estoy haciendo una aplicacion que usa una base de datos en acces (no tengo mas remedio que usarla) e investigando como insertar/obtener datos de la bd me encontre con este objeto, pero algo debo hacer mal ya que si al hacer un select, este no devuelve ningun resultado, salta una excepcion a la hora de hacer el close.
Esto lo puedo evitar haciendo un count de la consulta antes, pero me parece una chapuza y por eso me paso por aqui porque no doy con otra solucion. La linea de conexion no os la voy a soltar porque es larguisima, pero todo va ok salvo ese caso que os comento, os pongo el codigo. Código:
this->ADOConnection1->Connected=true;
this->ADODataSet1->Connection=this->ADOConnection1;
this->ADODataSet1->ConnectionString=this->ADOConnection1->ConnectionString;
this->ADODataSet1->CommandText="Select * from tabla";
this->ADODataSet1->Active=true;
this->ADODataSet1->Open();
while (this->ADODataSet1->Eof!=true)
{
this->ADODataSet1->FieldByName("nombre")->AsString);
this->ADODataSet1->Next();
}
this->ADODataSet1->Close(); //Aqui da el error
Si estais pensando porque no uso TADOQuery es porque no me ha hecho falta, con este objeto puedo hacer insert,update, delete y select sin problemas, salvo el que os comento claro esta. Gracias a todos. |
|
#2
|
||||
|
||||
|
Hola
No se de C ++ ni de builder, pero me parece raro que se abra la consulta y se cierre de inmediato.? Para que recorrer toda la tabla con eof, si la vas a cerrar enseguida, no tendria que estar en otro procedimiento el cierre? Bueno la verdad, no se, es solo un comentario. Saludos |
|
#3
|
|||
|
|||
|
Hago el open para abrir la consulta, la recorro hasta eof y dentro del while esta el next que te hace avanzar en el recorrido, cuando llegas al final salgo del bucle y hago el close. Y es al hacer ese close, con eof==true cuando da el fallo.
|
|
#4
|
||||
|
||||
|
Hola
Te repito de esto no se, pero, que pasaria si elimino del next el close.? Y cierro en otro evento. Saludos |
|
#6
|
|||
|
|||
|
Eso es un ejemplo de como hago el recorrido, en realidad es una funcion a la que le paso por parametro la consulta y devuelve el TADODataSet para procesarlo a parte, va a una lista o a un stringgrid o a donde sea y al acabar hago el close, ese no es el codigo exacto de la aplicacion, pero con ese ejemplo me ocurre lo mismo.
Lo que no sabia es que el active y el open hacian lo mismo, voy a probar a quitar uno, gracias :P. |
|
#7
|
|||
|
|||
|
Y cual es el mensaje de error que te da?
Con esto se te podría ayudar un poco más... Saludos... |
|
#8
|
||||
|
||||
|
Si no dices el error que da, poco podemos hacer.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Edit en TADODataSet | scooterjgm | Conexión con bases de datos | 2 | 10-04-2006 09:46:36 |
| Trabajando con TADODataset | Novato | Conexión con bases de datos | 2 | 08-10-2005 23:57:27 |
| Duda | Delphius | Varios | 5 | 02-06-2005 07:40:29 |
| TADODataSet VS TADOQuery | Mauro.NET | Conexión con bases de datos | 1 | 24-05-2005 19:39:57 |
| objeto TADODataSet | Nidia H. Ochoa | OOP | 2 | 06-07-2004 22:48:12 |
|