Delphi - TParameters

 
Vista:

TParameters

Publicado por bolo (23 intervenciones) el 18/06/2007 09:23:31
Hola,

estoy teniendo un problema con mi programa que me está volviendo loco. Tengo una instrucción como está: "ADOQuery.Parameters.ParamByName('nif').Value := valor", que la uso para actualizar una tabla. Previamente la he agragado a los Parameters del ADOQUERY, pero aún así me sigue saliendo el error "Parameter 'nif' not found". A ver si alguien tiene idea de pq puede ser, pq yo no le encuentro explicación alguna.

Gracias y un saludo a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TParameters

Publicado por juancho (193 intervenciones) el 18/06/2007 13:09:27
Es probable que no hayas puesto los parametros el select
SELECT * FROM TABLA WHERE CAMPO = :VAR
el componente automaticamente agrega el para metro en este caso VAR al TParams, y se busca con el nombre VAR. O quizas esta perdiendo la consulta en runtime, si es asi prueba hacerlo por codigo. Si dice que no esta, es por que probablemente no esta, ya me ha pasado y culpe a la herramienta, pero en realidad siempre era culpa mia, depuralo con ciudado y encontraras la falla, que version de Delphi usas?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TParameters

Publicado por Richard (59 intervenciones) el 18/06/2007 16:45:42
Efectivamente, lo que dice el compañero juancho debe ser el problema que tienes... prueba con un codigo como este..

Sql:='';
Sql:='Select * From TuTablita Where TuCampo=:ValorCampo';

TRY
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:=Trim(Sql);
ADOQuery1.Parameters.ParamByName('ValorCampo').Value:=ValorAAsignar;
ADOQuery1.Open;

IF ADOQuery1.RecordCount > 0 THEN
BEGIN
//.....
END;

FINALLY
ADOQuery1.Close;
END;

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TParameters

Publicado por Odel (20 intervenciones) el 18/06/2007 18:11:15
Yo tengo una Pregunta sobre eso:
Bueno se usa el DATAMODULE y se agregan esas instrucciones. o es mejor como lo hizo el Compa Richard? Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TParameters

Publicado por Richard (59 intervenciones) el 18/06/2007 18:37:59
Si vas a utilizar bases de datos, es mejor que utilices un datamodule, donde tengas todos tus componentes de conexion y todas las funciones y variables "globales", que vas a utilizar en tu proyecto, pero si solo vas a utilizar variables, funciones o procedimientos, entonces creo que lo mejor es que utilices solo una Unit.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TParameters

Publicado por bolo (23 intervenciones) el 19/06/2007 08:29:34
Muchas gracias a todos, creo q lo he resuelto de alguna manera, accediendo en vez de al nombre del parámetro (ParamByName), al identificador numérico Parameters[12]. Todavía no logro entender el porqué de esto, pero bueno es lo que tiene la informática. Intentaré indagar cuando tenga algo de tiempo.

Muchas gracias a todos de nuevo por el interés.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar