Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problema con Params (https://www.clubdelphi.com/foros/showthread.php?t=29439)

utopico 22-01-2006 00:53:24

Problema con Params
 
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

Cita:

Empezado por utopico
¿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:
Código Delphi [-]
ADOQuery1.Parameters.ParamByName('taat').value

piccolo2101 23-01-2006 12:03:25

Cita:

Empezado por utopico
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

Cita:

Empezado por utopico
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.

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:

Código Delphi [-]
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 cGenero + # no existe en tu table va a tronar.

Suerte.


La franja horaria es GMT +2. Ahora son las 22:23:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi