Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   2 preguntas (https://www.clubdelphi.com/foros/showthread.php?t=96358)

DarkSton 16-09-2023 11:45:37

2 preguntas
 
estoy usando este codigo
Código Delphi [-]
ValueListEditor1.Strings.Clear;
DataModule2.ZQuery.Close;
DataModule2.ZQuery.SQL.Clear;
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE Nombre ');/
DataModule2.ZQuery.Open;
DataModule2.ZQuery.ExecSQL;
ClientDataSet.Close;
ClientDataSet.SetProvider(DataModule2.DataSetProvider);
clientdataset.Open;
while not clientdataset.eof do
begin
ValueListEditor1.InsertRow(ClientDataSet.FieldByName('Item1').AsString,ClientDataSet.FieldByName('No  mbre').AsString, True);
 clientdataset.next;

end;
todo bien pero solo me carga 67 lineas lo cual hay mas de 150 registros
lo otro seria buscar por nombre
poner una letra en un edit1 yhacer que aparescan todos los nombre con la primera letra en el ValueListEditor1 o usar otro editor

Casimiro Notevi 16-09-2023 15:23:00

No se entiende bien lo que estás haciendo, lo que quieres hacer, el problema y cómo lo estás enfocando.
De todas formas, ese select está mal, eso no funcionará y te dará error:
Código Delphi [-]
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE Nombre ');/
Además sobra esta línea:
Código Delphi [-]
DataModule2.ZQuery.ExecSQL;
Y después, no se sabe para qué asignas el datamodule2 al clientdataset :confused:

DarkSton 16-09-2023 16:57:06

Pasa que al usar el stringGril igual solo me carga 67 datos de mi db ,lo otro del ;/ ese / omitelo
Código Delphi [-]
DataModule2.ZQuery.ExecSQL
Usando eso no tengo problemas
Código Delphi [-]
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE ITem1 = 6485');
si uso es me muestro hasta 150 usuarios con el mismo item pero solo le pongo
Código Delphi [-]
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE item1 ');
Me muestra 67 ,omite el resto de registro

pgranados 16-09-2023 19:27:04

Tampoco entiendo que es lo que buscas hacer :confused: ¿Puedes explicarnos mejor?

Casimiro Notevi 17-09-2023 11:12:10

Y aparte de no entenderse lo que preguntas, por favor, recuerda nuestra guía de estilo y procura poner títulos descriptivos a tus preguntas: "2 preguntas" no describe nada del problema.

Neftali [Germán.Estévez] 18-09-2023 08:25:41

He de decir que sin más datos es difícil saber qué está pasando.
Si ejecutas o muestras en un mensaje (de forma temporal) esto, ¿qué aparece?

Código Delphi [-]
DataModule2.ZQuery.RecordCount

Cita:

Empezado por DarkSton (Mensaje 552521)
Código Delphi [-]
DataModule2.ZQuery.ExecSQL[/delphi]

Utiliza un Open, en lugar del ExecSQL.

Cita:

Empezado por DarkSton (Mensaje 552521)
Usando eso no tengo problema:
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE ITem1 = 6485');

si uso es me muestro hasta 150 usuarios con el mismo item pero solo le pongo
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE item1 ');

Me muestra 67 ,omite el resto de registro

Eso tiene lógica, porque la primera SQL es correcta, la segunda es incorrecta y no sé qué estará haciendo.

duilioisola 18-09-2023 15:03:43

No se qué motor de base de datos utilizas, pero la parte "WHERE ITEM1" no debería funcionar.
Si el motor entiende "WHERE ITEM1" como booleano, entonces podría suponer que de los 150 registros 67 tienen un valor distinto de 0 y el resto 0.
0 se entiende como falso y un valor positivo como verdadero.

Esto puedes comprobarlo filtrando "ITEM1=0"
Código Delphi [-]
// Filtrando los elementos de la tabla LIST en donde el campo ITEM1 = 0
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE ITem1 = 0');


Si no quieres filtrar por ITEM1, deberás quitar todo el WHERE.

Código Delphi [-]
// Filtrando los elementos de la tabla LIST en donde el campo ITEM1 = 6485
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list WHERE ITem1 = 6485');

// TODOS los elementos de la tabla LIST. Sin filtro.
DataModule2.ZQuery.SQL.Add('SELECT Nombre,Item1 FROM list');


La franja horaria es GMT +2. Ahora son las 01:15:33.

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