FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
"ADOQUERY3: Parameter 'p' not found" error (POR FAVOR AYUDA)
Estoy tratando de modificar una base en access y siempre me da este error"ADOQUERY3: Parameter 'p' not found" error
Cualquier ayuda la agradecercia enormemente...espero que me puedan dar una mano 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; //estos los comente porque me recomendaron usar .sql.add(blablabla) de ultima lo vuelvo a poner asi... //cons1:='select colaboradores.id, colaboradores.usuario, colaboradores.password, colaboradores.nombre, colaboradores.apellido, colaboradores.direccion, colaboradores.telefono, colaboradores.email, colaboradores.web, colaboradores.rol, colaboradores.fecha '; //cons2:='from colaboradores, roles '; //cons3:='where colaboradores.rol=roles.id and colaboradores.id= :'; 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= :') ; adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true); //adoquery3.SQL.Text:=cons1+cons2+cons3; //adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true); adoquery3.Parameters.ParamByName('p').Value:=adoquery2.Fields[0].AsInteger; //aca se da el error que no encuentra el parametro!!!!!!!! //si adoquery2.fields[0]. lo pongo como asString pasa lo mismo...ademas el error seria distinto me imagino //puse : porque el foro no me permite imagenes pero es con un solo ":" 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= :'; adoquery4.Parameters.ParamByName('p').Value:=combobox1.Text ; adoquery4.Open; adoquery3.Fields[9].AsInteger:=adoquery4.Fields[10].AsInteger; adoquery3.Fields[10].AsString:=edit10.Text; adoquery3.Post; showmessage('Registro modificado exitosamente!'); adoquery3.Close; end else showmessage('Las Contraseñas no fueron confirmadas correctamente, deben ser iguales'); end; |
#2
|
||||
|
||||
Hola
Esta es la parte que da el error? Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
Si
exacto, el "" (quiero decir :[letra p] no aparece porque lo trunca el foro
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= :') ; adoquery3.SQl.Text:=adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true); //adoquery3.SQL.Text:=cons1+cons2+cons3; //adoquery3.Parameters.ParseSQL(adoquery3.SQL.Text,true); adoquery3.Parameters.ParamByName('p').Value:=adoquery2.Fields[0].AsInteger; Última edición por JuanchoDev fecha: 20-04-2010 a las 21:49:44. Razón: el sistema convierte en emoticons algunas porciones de texto |
#4
|
|||
|
|||
ademas
el parse lo comente porque tiraba list bound out of index
|
#6
|
|||
|
|||
mentira
el parse lo comente por error...por favor me das una mano?...
|
#7
|
||||
|
||||
Hola
A ver: Saludos
__________________
Siempre Novato |
#8
|
|||
|
|||
era una sugerencia que encontre
en el foro de embarcadero...
|
#9
|
|||
|
|||
pero
si esa linea no esta...el error sigue dandose
|
#10
|
||||
|
||||
Hola
Estamos en lo mismo?. As probado el ultimo codigo que puse?. Saludos
__________________
Siempre Novato |
#11
|
|||
|
|||
Ahora da
List Index Out Of Bounds (10)
despues probe cambiar un poco tu codigo y recibo el mismo error 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].AsInteger; |
#12
|
|||
|
|||
quiero decir
recibo como error List Index Out Of Bounds (10)
|
#13
|
||||
|
||||
Hola
Lo que se me ocurre es que el adoquery2 no este open; Saludos
__________________
Siempre Novato |
#14
|
|||
|
|||
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...? |
#15
|
|||
|
|||
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! |
#16
|
||||
|
||||
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 |
#17
|
|||
|
|||
re
Uso Access
|
#18
|
||||
|
||||
Hola
A ver esto: Saludos
__________________
Siempre Novato |
#19
|
|||
|
|||
mismo error
che te agradezco la buena onda...
|
#20
|
||||
|
||||
Hola
Creo entender que la primera vez modifica y hace todo bien, pero la segunda vez que tratas de modificar da el error. Si es asi es por el uso de ADD en el query3 ya que no se limpia la consulta, por eso me gusta usar mas text. Veamos esta vez a ver que pasa: Si no sale, coloca aqui el programa completo con la base de datos, en un zip, sin el exe y lo reviso. Saludos
__________________
Siempre Novato |
|
|
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 |
|