PDA

Ver la Versión Completa : Problema con Params


utopico
22-01-2006, 00:53:24
Hola.
Tengo con componente TADOquery y con el siguietne codigo

For i := 1 to 20 do
begin
queryGenero.Close;
queryGenero.SQL.Add('SELECT Genero FROM Principal');
queryGenero.SQL.Add('WHERE Genero :cGenero');
queryGenero.Params[0].AsString := Genero[i];
queryGenero.ExecSql;
queryGenero.Open;
Cantidad[i] := ModuloDatos.queryGenero.RecordCount;
end;

me da el error: Undeclared indentifier: 'Params'

¿A que se puede deber?

Muchas gracias de antemano.

roman
22-01-2006, 01:01:21
¿A que se puede deber?


A que TADOQuery no tiene ninguna propiedad llamada Params.

// Saludos

lucasarts_18
22-01-2006, 05:56:55
Hola:

Prueba con ParamsByName...:)

Hasta Luego -

vtdeleon
22-01-2006, 17:49:37
Saludos

Para dar un valor a un parametros con los AdoQuery's se hace:ADOQuery1.Parameters.ParamByName('taat').value

piccolo2101
23-01-2006, 12:03:25
queryGenero.SQL.Add('WHERE Genero :cGenero');


Aún con todo lo que se ha dicho, esta línea no estaría mal también como sentencia SQL?. Vamos creo que debería ir un '=' o LIKE o '<>'.


Un saludo.

cuburu
31-01-2006, 03:28:17
Hola.
Tengo con componente TADOquery y con el siguietne codigo

For i := 1 to 20 do
begin
queryGenero.Close;
queryGenero.SQL.Add('SELECT Genero FROM Principal');
queryGenero.SQL.Add('WHERE Genero :cGenero');
queryGenero.Params[0].AsString := Genero;
queryGenero.ExecSql;
queryGenero.Open;
Cantidad[i] := ModuloDatos.queryGenero.RecordCount;
end;

me da el error: Undeclared indentifier: 'Params'

¿A que se puede deber?

Muchas gracias de antemano.

Hola, creo que lo que intentas es ir creando los parametros conforme tu ciclo, y después los almacenas en un arreglo, lo que veo que te falla es al momento de crear el parametro, lo que debes de hacer, siguiendo tu codigo es:


for i := 1 to 20 do
begin
queryGenero.Close;
queryGenero.Clear;
queryGenero.SQL.Add('SELECT Genero FROM Principal');
queryGenero.SQL.Add('WHERE Genero :cGenero' + IntToStr(i));
queryGenero.ParamByName('cGenero' + IntToStr(i)).AsString := Genero[i];
queryGenero.ExecSql;
queryGenero.Open;
Cantidad[i] := ModuloDatos.queryGenero.RecordCount;
end;


Aunque ya analizando tu código no entiendo para que lo necesitas realmente.... creo que basado en tu información estos son los cambios que debes realizar, pero cuando lo ejecutes te marcará un nuevo error debido a que si el campo llamado conforme el valor de [I]cGenero + # no existe en tu table va a tronar.

Suerte.