Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Lo que se me ocurre es que el adoquery2 no este open;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 20-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
Verificado

begin
if edit2.Text = edit9.Text then
begin
adoquery2.Close;
adoquery2.SQL.Text:='select id from colaboradores where usuario= :f';
adoquery2.Parameters.ParamByName('f').Value:=edit1.Text;
adoquery2.Open;


alguna otra idea...?
Responder Con Cita
  #3  
Antiguo 21-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
Te doy mil gracias

El error estaba en:
adoquery4.Close;
adoquery4.SQL.Text:='select id from roles where rol= :w';
adoquery4.Parameters.ParamByName('w').Value:=combobox1.Text ;
adoquery4.Open;
adoquery3.Fields[9].AsInteger:=adoquery4.Fields[10].AsInteger;

No podia ser adoquery4.Fields[10].AsInteger;
Ya que el adoquery4 solo retorna Fields[0].asinteger...


Ahora para que te de 1 millon de gracias ;-)
Mira lo que me pasa...
En la primer iteracion corre bien y modifica todo
En la segunda modificacion (cuando cambio otro registro) da error "Objeto Parameter mal definido. Se proporciono informacion incompleta o incoherente"

adoquery4.Close;
adoquery4.SQL.Text:='select id from roles where rol=:f';
adoquery4.Parameters.ParamByName('f').Value:=combobox1.Text ;
adoquery4.Open;
adoquery3.Fields[9].AsInteger:=adoquery4.Fields[0].AsInteger ;
adoquery4.Close;
adoquery3.Fields[10].AsString:=edit10.Text;
adoquery3.Post;
showmessage('Registro modificado exitosamente!');
adoquery3.Close;


Como veras tomé la precaución de cerrar el qry4.close

Espero ideas y no te molesto mas!
Responder Con Cita
  #4  
Antiguo 21-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Puedes colocar el codigo completo para verlo?.
Usa las etiquetas delphi, encierras el codigo entre :
[DELPHI ]aqui [ /DELPHI]
En el centro de estos pones el codigo.
Que base de datos usas?.
Saludos
PD: Si presionas avanzado veras un boton al lado del de sql, es el que pone las etiquetas.
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 21-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
re

Uso Access




Código Delphi [-]
 
procedure TForm3.Modificar1Click(Sender: TObject);
var cons1, cons2, cons3:string;

begin
if edit2.Text = edit9.Text then
begin
adoquery2.Close;
adoquery2.SQL.Text:='select id from colaboradores where usuario=';
adoquery2.Parameters.ParamByName('p').Value:=edit1.Text;
adoquery2.Open;
adoquery3.Close;
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre,colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web,colaboradores.rol, colaboradores.fecha ');
adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id=:a');
adoquery3.Parameters.ParamByName('a').Value:=adoquery2.Fields[0].AsString;
adoquery3.Open;
adoquery3.Edit;
adoquery3.Fields[1].AsString:=edit1.Text;
adoquery3.Fields[2].AsString:=edit2.Text;
adoquery3.Fields[3].AsString:=edit3.Text;
adoquery3.Fields[4].AsString:=edit4.Text;
adoquery3.Fields[5].AsString:=edit5.Text;
adoquery3.Fields[6].AsString:=edit6.Text;
adoquery3.Fields[7].AsString:=edit7.Text;
adoquery3.Fields[8].AsString:=edit8.Text;
//averiguo el rol
adoquery4.Close;
adoquery4.SQL.Text:='select id from roles where rol=:f';
adoquery4.Parameters.ParamByName('f').Value:=combobox1.Text  ;
adoquery4.Open;
adoquery3.Fields[9].AsInteger:=adoquery4.Fields[0].AsInteger ;
adoquery3.Fields[10].AsString:=edit10.Text;
adoquery3.Post;
showmessage('Registro modificado exitosamente!');

end
else
showmessage('Las Contraseñas no fueron confirmadas correctamente, deben ser iguales');

end;
Responder Con Cita
  #6  
Antiguo 21-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
A ver esto:

Código Delphi [-]
procedure TForm3.Modificar1Click(Sender: TObject);
var cons1, cons2, cons3:string;
begin
if edit2.Text = edit9.Text then
begin

adoquery2.Close;
adoquery2.SQL.Text:='select id from colaboradores where usuario= :X';
adoquery2.Parameters[0].Value:= edit1.Text;
adoquery2.Open;

adoquery3.Close;
adoquery3.SQL.Add('select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre,colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web,colaboradores.rol, colaboradores.fecha ');
adoquery3.SQL.Add('from colaboradores, roles ');
adoquery3.SQL.Add('where colaboradores.rol=roles.id and colaboradores.id=:a');
adoquery3.Parameters[0].Value:= adoquery2.Fields[0].AsString;
adoquery3.Open;

//averiguo el rol
adoquery4.Close;
adoquery4.SQL.Text:='select id from roles where rol= :B';
adoquery4.Parameters[0].Value:= combobox1.Text  ;
adoquery4.Open;

adoquery3.Edit;
adoquery3.Fields[9].AsInteger:= adoquery4.Fields[0].AsInteger ;
adoquery3.Fields[10].AsString:= edit10.Text;
adoquery3.Fields[1].AsString:= edit1.Text;
adoquery3.Fields[2].AsString:= edit2.Text;
adoquery3.Fields[3].AsString:= edit3.Text;
adoquery3.Fields[4].AsString:= edit4.Text;
adoquery3.Fields[5].AsString:= edit5.Text;
adoquery3.Fields[6].AsString:= edit6.Text;
adoquery3.Fields[7].AsString:= edit7.Text;
adoquery3.Fields[8].AsString:= edit8.Text;
adoquery3.Post;
showmessage('Registro modificado exitosamente!');

end
else
showmessage('Las Contraseñas no fueron confirmadas correctamente, deben ser iguales');

end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 21-04-2010
JuanchoDev JuanchoDev is offline
Miembro
 
Registrado: abr 2010
Posts: 15
Poder: 0
JuanchoDev Va por buen camino
mismo error

che te agradezco la buena onda...
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
Ayuda: "Record not found or changed by another user" alquimista_gdl Conexión con bases de datos 14 21-03-2009 20:09:21
Error "Invalid Parameter" usando Tquery cuando proceso una consulta grande CharlesWar SQL 5 18-06-2008 20:27:56
Error "File not found: AHMSystemClass.dcu" Miriamc Varios 2 05-06-2006 16:13:36
Error: "Record not found or changed by another user" jmlifi Varios 0 27-01-2006 10:16:57
Solución para el error "Field ID not found" Calderin Conexión con bases de datos 5 24-11-2004 11:18:26


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


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