Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   llenar sqlclientdataset (https://www.clubdelphi.com/foros/showthread.php?t=6098)

jgutti 17-12-2003 22:03:00

llenar sqlclientdataset
 
Hola al foro

¿Como puedo llenar SqlClientDataset1.commandtext de dbexpress en tiempo de ejecución?

-utilizo delphi6 con dbexpress

desde ya gracias por la ayuda

jgutti

Descendents 18-12-2003 02:01:16

has probasdo asi.

SqlClientDataset1.commandtext := 'select * fom clientes';

jgutti 18-12-2003 15:00:58

Hola Descendents

tu ayuda a funcionado pecfectamente, pero tengo otra pregunta.
- la tabla esta ordenada por codigo y nombre (ambos string)
- en tiempo de diseño la consulta es la sgte.
select * from clases
where nombre like:nombre
order by nombre
- Al buscar por nombre con la consulta en tiempo de diseño funciona Ok

- Si en tiempo de ejecución modifico la consulta y la ordeno por codigo:
select * from clases
where codigo like:nombre
order by codigo

- al ingresar datos para buscar un codigo emite el sgte error.
"list index out off bounds(0)"

desde ya gracias por la ayuda

jgutti

guillotmarc 18-12-2003 15:04:13

Hola.

¿ Puedes poner el código que utilizas para buscar ?. Parece que intentas acceder a un elemento que no existe en una matriz o colección (por ejemplo, que indicas mal un nombre de campo).

Para cambiar el orden de un clientdataset, no hace falta volver a ejecutar la consulta. Simplemente asigna en la propiedad IndexFieldName el nombre del campo por el que quieres ordenar el clientdataset.

Saludos.

Descendents 18-12-2003 18:08:32

Yo lo haria como te ha comentado guillotmarc, pero sino...

si la consulta dices que te funciona de buenas a primeras, pero al cambiarla en tiempo de ejecución te da el error.

Yo probaria.

var
s:string;
s := query.commandtext

query.close;
query.commandtext := '';
query.commandtext := s+' order by codigo';
query.open;

asegurate de que el campo codigo exista, y este bien escrito. A ver que pasa.

Digo de hacerlo asi, porque te aseguras de que la variable s esta bien escrita.

Pruebalo, al igual te da pistas de donde esta el error.

Un saludo

Descendents 18-12-2003 18:42:35

Perdona una cosa,ahora me he dado cuenta, que el error puede estar en que usas el mismo paramentro para los dos casos
:nombre. En el segundo caso supongo que sera :codigo no?

tienes
where codigo like:nombre

creo que es
where codigo like:codigo

no?

Saludos


La franja horaria es GMT +2. Ahora son las 22:45: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