PDA

Ver la Versión Completa : Adoquery1.parameters Socorro!!!!


taita
26-09-2003, 19:44:35
Un saludo o atodos los usuarios del foro:

Estoy intentando hace una consulta en la que primero he de seleccionar en un DBLookupComboBox un determinado tipo de 'Familia' y una vez seleccionado, se ha de realizar una segunda consulta con la que mostraré la información en un grid.

lo que estoy haciendo ahora es esto:

procedure TfrmConsultaArticulos.DBLookupComboBox1Click(Sender: TObject);
begin
ConsultaBase.Active:=false;
ConsultaBase.SQL.Clear;
ConsultaBase.SQL.Add('Select * from articulos where CODFAM:=CODIGO');
ConsultaBase.parameters.ParamByName('CODIGO').value:=DBLookupComboBox1.keyvalue;
ConsultaBase.Open;
ConsultaBase.Active:=true;

end;

El problema viene ahora ya que me dice lo siguiente:
"ConsultaBase: Parameter 'CODIGO' not found."

Qué debo hacer? tengo que crear el parámetro? asi?
ConsultaBase.Parameters.CreateParameter('CODIGO',ftInteger,pdInput,10,1);

tanto CODFAM como CODIGO son Integers.

Si alguien sabe cómo resolver este enigma, please. Retribuiré con flores...

PD: Me olvidaba!!! la base de datos está en Access (asi que la conexión está hecha en ADO)

Viet
26-09-2003, 20:12:33
Bienvenido al foro !

En principio veo que tienes mal la query, va en realidad estan mal los ":" esta tendria que ser 'Select * from articulos where CODFAM=:CODIGO'

No hace falta que crees el paramedro. asi tendria que funcionar.

De todos modos no entiendo por que no lo haces asi:


ConsultaBase.Close;
ConsultaBase.SQL.Text := 'Select * from articulos where CODFAM=' + inttostr(DBLookupComboBox1.keyvalue);
ConsultaBase.Open;


si anda me mandas las flores jejejejeje :D :p

taita
27-09-2003, 12:00:20
Gracias Viet.

Como bien has dicho tú, para qué matarme. Había pensado en todas las soluciones posibles menos esa.
Funciona a la perfección, asi que como lo prometido es deuda, aqui van tus flores.

http://www.virginiamaris.blogger.com.br/rosas.jpg

Un saludo y hasta la próxima.
Gracias de nuevo.