Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
problema con AdoDataset

Hola a la maravillosa familia del foro, miren tengo problemas con una consulta a una base de datos y al mostrar los resultddos en un reporte con quickreport, pero pasa que cuando lo ejecuto por primera vez todo sale bien, y cuando trato de consultar por otro valor me dice 'Can not perform this operation on an open Dataset', vaya se que es que el Dataset esta abierto, pero bueno, les adjunto el codigo para ver si me pueden corregir.... Saludos de antemanos.
Jocey


with formdepartamento do
begin
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + PathBD + 'data.mdb';
DataSetreportdep.ConnectionString := CadenaConexion;
DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;
DataSetreportdep.Open;
begin
QRDBdep.Caption := DataSetreportdep.fieldbyname('Departamento').value;
QRDBuser.Caption := DataSetreportdep.fieldbyname('usuario').value;
QRDBsetup.Caption := DataSetreportdep.fieldbyname('setup').value;
QRDBred.Caption := DataSetreportdep.fieldbyname('red').value;
QRDBref.Caption := DataSetreportdep.fieldbyname('Refrescador').value;
QRDBcorreo.Caption := DataSetreportdep.fieldbyname('correo').value;
QuickRep1.Preview;
Responder Con Cita
  #2  
Antiguo 13-11-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola jocey, te falta hacer un close antes de ejecutar otra vez tu consulta.

Código Delphi [-]
 DataSetreportdep.Close;
 DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';
 DataSetreportdep.Open;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 13-11-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Coloca DataSetreportdep.Close; como inicio de ese bloque.

Y usa la etiqueta "[ Delphi ]".

Saludos.

Al González.
Responder Con Cita
  #4  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Que complicado lo veo, pero bueno:
Tal vez asi:
Código Delphi [-]
with formdepartamento do
begin
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + PathBD + 'data.mdb';
DataSetreportdep.ConnectionString := CadenaConexion;
DataSetreportdep.Close;
DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;
DataSetreportdep.Open;
begin
QRDBdep.Caption := DataSetreportdep.fieldbyname('Departamento').value;
QRDBuser.Caption := DataSetreportdep.fieldbyname('usuario').value;
QRDBsetup.Caption := DataSetreportdep.fieldbyname('setup').value;
QRDBred.Caption := DataSetreportdep.fieldbyname('red').value;
QRDBref.Caption := DataSetreportdep.fieldbyname('Refrescador').value;
QRDBcorreo.Caption := DataSetreportdep.fieldbyname('correo').value;
QuickRep1.Preview;
Es lo que se me ocurre.
Saludos
Responder Con Cita
  #5  
Antiguo 13-11-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por jocey Ver Mensaje
(((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;

no será la doble comilla?
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #6  
Antiguo 13-11-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Me ganaste por un minuto Caro.
Responder Con Cita
  #7  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
probe con Close

Miren ya habia tratado se cerrarlo tal y como me lo explico caral y algunos de ustedes y miren el error que me da

[IMG]file:///C:/DOCUME%7E1/JOCEYR%7E1/CONFIG%7E1/Temp/moz-screenshot.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/JOCEYR%7E1/CONFIG%7E1/Temp/moz-screenshot-1.jpg[/IMG]'El valor de BOF o EOF es true', o el actual registro se elimino, la operacion solicitada requiere un registro actual'

Disculpen tantas molestias
Responder Con Cita
  #8  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pregunta:
Que es formdepartamento.
Saludos
Responder Con Cita
  #9  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
Formdepartamento

formdepartamento es un Form
Responder Con Cita
  #10  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
perdon pero no entiendo, tal vez nos puedas explicar mas.
Con el codigo que muestras se abre una base de datos access y se ejecuta una sentencia sql, posteriormente se ejecuta en un qreport.
Perdon, pero que tiene que ver que no encuentre un JPG.?
Cita:
file:///C:/DOCUME%7E1/JOCEYR%7E1/CONFIG%7E1/Temp/moz-screenshot.jpg
file:///C:/DOCUME%7E1/JOCEYR%7E1/CONFIG%7E1/Temp/moz-screenshot-1.jpg
No se si estoy equivocado, me corrigen.
Saludos
Responder Con Cita
  #11  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui ya estoy especulando:
Código Delphi [-]
with formdepartamento do
begin
DataSetreportdep.Active:= False;
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + PathBD + 'data.mdb';
DataSetreportdep.ConnectionString := CadenaConexion;
DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;
DataSetreportdep.Active:= True;
begin
QRDBdep.Caption := DataSetreportdep.fieldbyname('Departamento').value;
QRDBuser.Caption := DataSetreportdep.fieldbyname('usuario').value;
QRDBsetup.Caption := DataSetreportdep.fieldbyname('setup').value;
QRDBred.Caption := DataSetreportdep.fieldbyname('red').value;
QRDBref.Caption := DataSetreportdep.fieldbyname('Refrescador').value;
QRDBcorreo.Caption := DataSetreportdep.fieldbyname('correo').value;
QuickRep1.Preview;
Se le ocurre algo mas a alguien?
Saludos
Responder Con Cita
  #12  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
A caral

hola mira, esto ultimo que pones tiene mucha logica, pero bueno sigue dando el mismo error, no tengo idea de como y pq pase esto, al parecer el activar y desctivar es lo mismo o parecido al Open y Close, asi que por favor si alguien mas tiene otra idea, de esa brillante que a ustedes se les ocurre, estare en espera de sus modestas y sabias desiciones.


Saludos a todos.
Jocey
Responder Con Cita
  #13  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver:
Código Delphi [-]
with formdepartamento do
begin
try
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + PathBD + 'data.mdb';
DataSetreportdep.ConnectionString := CadenaConexion;
DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;
DataSetreportdep.Active:= True;
begin
QRDBdep.Caption := DataSetreportdep.fieldbyname('Departamento').value;
QRDBuser.Caption := DataSetreportdep.fieldbyname('usuario').value;
QRDBsetup.Caption := DataSetreportdep.fieldbyname('setup').value;
QRDBred.Caption := DataSetreportdep.fieldbyname('red').value;
QRDBref.Caption := DataSetreportdep.fieldbyname('Refrescador').value;
QRDBcorreo.Caption := DataSetreportdep.fieldbyname('correo').value;
QuickRep1.Preview;
finally
DataSetreportdep.Active:= False;
end;
Intentemos con un try, finally, la idea seria que en cuento se haga el reporte se finalice la accion del dataset.
No le hagas mucho caso a este Novato de todos modos.
Saludos
Responder Con Cita
  #14  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
Miren a ver que tal esto

Empezando caral no creo que seas un novato, pero bueno ademas en caso de que lo seas, entonces este novatisimo a aprendido mucho de ti, mira intente esta solucion y ya me trabaja bien, mira a ver que opinas



procedure TFormparametros.Button2Click(Sender: TObject);
begin
with formdepartamento do
begin
try
PathBD := ExtractFilePath(Application.ExeName);
CadenaConexion := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + PathBD + 'data.mdb';
DataSetreportdep.ConnectionString := CadenaConexion;
DataSetreportdep.CommandText := 'select * from principal' + ' WHERE (((principal.departamento)=''' + Formparametros.Combodepa.Text + ''' ))';;
DataSetreportdep.Active := true;
begin
QRDBdep.Caption := DataSetreportdep.fieldbyname('Departamento').value;
QRDBuser.Caption := DataSetreportdep.fieldbyname('usuario').value;
QRDBsetup.Caption := DataSetreportdep.fieldbyname('setup').value;
QRDBred.Caption := DataSetreportdep.fieldbyname('red').value;
QRDBref.Caption := DataSetreportdep.fieldbyname('Refrescador').value;
QRDBcorreo.Caption := DataSetreportdep.fieldbyname('correo').value;
QuickRep1.Preview;
end
finally
if DataSetreportdep.Bof or DataSetreportdep.Eof then
DataSetreportdep.Last ;
DataSetreportdep.Close;

end;
end;
end;
Responder Con Cita
  #15  
Antiguo 13-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno si te trabaja bien, pues excelente, si me pides opinion?, nunca he trabajado con los dataset, de hecho solo lo mire en delphi para tratar de entenderlo asi que imaginate que puedo opinar, solo que eres un maestro.
Me alegro que lo resolvieras.
Saludos
Responder Con Cita
  #16  
Antiguo 13-11-2007
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 18
jocey Va por buen camino
agradecido Caral

Bueno caral, el maestro eres tu, pero bueno, muchas gracias por tu seguimiento y prestar parte de tu tiempo a resolver los problemas de otros.


Gracias de Corazon

Salu2 Jocey
Responder Con Cita
Respuesta



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
ADOdataset... The_Avatar Conexión con bases de datos 4 16-08-2007 16:00:26
Adodataset, BD Otei Conexión con bases de datos 1 19-11-2005 16:15:16
¿ADODataSet? roedecker Conexión con bases de datos 2 19-05-2004 15:42:54
problema con adodataset davidgaldo Conexión con bases de datos 3 15-04-2004 17:23:08
pb con adodataset y sql davidgaldo Conexión con bases de datos 5 06-02-2004 20:33:05


La franja horaria es GMT +2. Ahora son las 02:16:14.


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