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)
-   -   consulta volcada a DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=7545)

ronson 19-02-2004 00:28:42

consulta volcada a DBGrid
 
mi pregunta es la siguiente, como puedo hacer una consulta a la base de datos y volcar lo que me reporte al DBGrid?, y lo mas importante he intentado hacer un procedimiento almacenado que me devuelva un conjunto de registros.

Cabe la posibilidad de hacer un procedimiento de la siguiente manera(aunque a priori se que no por que me da un error de sintaxis):

CREATE PROCEDURE VER_CLIENTES
AS
BEGIN

SELECT * FROM CLIENTES

END

como podria hacer uqe me funcionase, en caso de que me devuelva un puñao de registros, como hago para que ese puñao de registros se vuelquen en mi aplicacion DELPHI en un DBGrid.


gracias de antemano!!:confused:

__cadetill 19-02-2004 00:38:20

Cita:

Empezado por ronson
mi pregunta es la siguiente, como puedo hacer una consulta a la base de datos y volcar lo que me reporte al DBGrid?

Un TQuery enlazado a un TDataSource enlazado a un TDBGrid
En el TQuery, en su propiedad SQL pones la sentencia que quieras (o bien por código) y lo abres con Open

Espero te sirva


PD: me parece que te lo recomendé ote lo recomendaron, pero te lo vuelvo a recomendar, mira de leerte la Guía de Estilos. En ella verás que para diferentes cuestiones se recomienda abrir hilos diferentes

ronson 19-02-2004 00:42:50

muchas gracias
 
Muchas gracias por todo. abrire otro hilo para la otra pregunta.

ronson 19-02-2004 12:41:06

no se actualiza
 
debo de poner algo en el DATAGRID para que se actualize, no me sale!!
El DATASOURCE no debe de ir a un TABLE verdad asociado?

__cadetill 19-02-2004 12:47:44

Cita:

Empezado por ronson
debo de poner algo en el DATAGRID para que se actualize

Si por DATAGRID entiendes TDbGrid, la respuesta es no (en principio)

Cita:

Empezado por ronson
El DATASOURCE no debe de ir a un TABLE verdad asociado?

A una TTable o a un TQuery o a un ..... En definitiva, a un DataSet que ha de estar abierto (Active = true) para que se muestre su contenido en el TDbGrid

Los enlaces entre componentes:

TDbGrid (DataSource) -> TDataSouce (Dataset) -> Dataset (TQuery, TTable,....)

Espero te sirva

PD: recomendable la lectura de cualquier libro de Delphi donde se explican estas nociones básicas o algún manual que encuentres por internet ;)

Gydba 19-02-2004 13:00:45

Buenas, buenas.

Si tenés enlazado todo correctamente puede pasar que no estes realizando el activate del dataset y por ende no se está realizando la consulta.
Aclaro que todo esto es una suposición.

ronson 19-02-2004 13:05:09

no tengo ningun dataset
 
en el datasource no tengo ningun dataset, antes tenia una tabla pero al he quitado para la consulta. de que objeto es la propiedad activate?.

del datasource?

ronson 19-02-2004 13:14:20

la historia es la siguiente
 
voy a pararme un poco y a explicar el problema o al menos a intentar explicarme, resulta que tengo un dBGrid enlazado a un data source y un TQuery enlazado al datasourdce vale bien
hago lo siguiente:

query1.close;
query1.SQL.text:='SELECT * FROM CLIENTES';
query1.Open;


y quiero que todos los clientes se muestren en la base de datos, pero claro no tengo ninguna TABLE asociada al DATASET DEL DATASOURCE liuego no se como hacerlo.



espero haberme explicado bien


NACLU2!!

Gydba 19-02-2004 13:14:22

Lo primero que tendrías que hacer es enlazar un Tdataset (llamálo como quieras, ttable, tquery, etc) al TDataSource enlazado a tu grilla.
Segundo verificá que realmente el dataset está abierto, una de las maneras para activarlo sería por ejemplo:
Código:

TuTabla.Activate := True;
donde "TuTabla" es el Tdataset asignado al Tdatasource.
De todas formas tenés ejemplos de lo que digo en el directorio de ejemplos de Delphi o en la ayuda.

ronson 20-02-2004 10:53:09

cuestion breve pero intensa
 
como conecto un TDatasource mediante el dataset a un TQuey?

__cadetill 20-02-2004 11:02:10

Cita:

Empezado por ronson
como conecto un TDatasource mediante el dataset a un TQuey?

:confused: Pero no has dicho que antes tenías conectado el DataSource a un TTable??? Pues de la misma manera. Seleccionas el DataSource, vas al inspector de Objetos, buscas la propiedad DataSet y, en ella seleccionas el TQuery deseado.


PD: sigo recomendandote la lectura de cualquier libro de Delphi donde se explican estas nociones básicas o algún manual que encuentres por internet ;)

ronson 20-02-2004 11:10:36

a ver mira
 
mira gadetill en primer lugar no te sulfures conmigo, te voy a explicar una cosa, mira despues de pasarme 4 horas buscando por internet y en libors como un cabron me he dado cuenta que conectar un datasource mediante dataset a un TQuery es tan facil como conectarlo visualmente mediante el inspector de objetos.

PERO NO SE POR QUE COJONES A MI NO ME APARECE EL TQUERY!!! en el inspecrtor:confused: :confused: :confused:

Sin embargo si me aparece el TTable estamos?. por eso conecte antes el ttable para probar que asi era, pero repito:


PONGO UN TQuery EN MI APLICACION Y NO ME SALE EN EL INSPECTOR DE OBJETOS en la propiedad del DATASET del datasource.


perdona mis preguntas, pero cuando las cosas no me salen como dicen me desespero.

saludos!

ronson 20-02-2004 11:14:17

IBQuery si que me aparece, mandara huevos!!
 
sin embargo el IBQuery si que aparece en el inspector, mandara huevos!!!

__cadetill 20-02-2004 11:19:37

Cita:

Empezado por ronson
mira gadetill en primer lugar no te sulfures conmigo

Tranquilo gonson que no me sulforo contigo :D :D

Cita:

Empezado por ronson
me he dado cuenta que conectar un datasource mediante dataset a un TQuery es tan facil como conectarlo visualmente mediante el inspector de objetos.

Pos eso creo yo :p

Cita:

Empezado por ronson
PERO NO SE POR QUE COJONES A MI NO ME APARECE EL TQUERY!!! en el inspecrtor:confused: :confused: :confused:

:D seguramente será porque la Query no la pones en el mismo form que el DataSource y necesitarás poner en el uses de ese form el que contiene el TQuery

Cita:

Empezado por ronson
Sin embargo si me aparece el TTable estamos?. por eso conecte antes el ttable para probar que asi era

Será porqué el TTable sí está en el mismo formulario o bien tienes en el uses el formulario donde está el TTable

Cita:

Empezado por ronson
perdona mis preguntas, pero cuando las cosas no me salen como dicen me desespero.

Para estos casos recomiendo una tilita que ayuda a relajarse :D ;)

ronson 20-02-2004 11:21:47

el milagro de la informatica
 
Querido Gadetill no me preguntes mas cosas, es mas me voy a inmolar como los israelitas, he reinstaldo el delhpi y me ha funcionao adeams a la primera.

nada hijo, cosas del maravillosos mundo de la informatica. bueno tio voy a seguir currando.

solo 3 cosas:

1) Pido muchas gracias por leerme
2) intento hacerlo lo mejor que se o me han enseñado(ingeniero tec. infr. gestion
)

3) yo solo soy un humilde hombre que quiere aprender de vosotros.por que me daria con un canto en los dientes con saber dentro de un par de años la mita dque vosotros.


besos y gracias.


P.D. ojala no pregunte mucho :rolleyes:

__cadetill 20-02-2004 11:59:41

Cita:

Empezado por ronson
Querido Gadetill

que no soy Gadetill, joooooooo, soy cadetill!!!! :____(

Cita:

Empezado por ronson
nada hijo

paxa ná papi :D

Cita:

Empezado por ronson
2) intento hacerlo lo mejor que se o me han enseñado(ingeniero tec. infr. gestion)

como todos supongo ;)

Cita:

Empezado por ronson
3) yo solo soy un humilde hombre que quiere aprender de vosotros.por que me daria con un canto en los dientes con saber dentro de un par de años la mita dque vosotros.

seguro que dentro de un par de años estás repondiendo por aquí a las dudas de los demás ;)

Cita:

Empezado por ronson
besos y gracias.

Prefiero un abrazo, sino te importa :D

PD: lo siento, hoy estoy inspirado y te ha tocado a ti :D ;) :p

Gydba 20-02-2004 12:50:12

"y te he tocado a ti"

Se mandan besos y se tocan!!!! :)

Se ha degenerado el foro!!! :)

Encima con cariño te dice Gadetill :)

PD: Creo que no debo aclarar que estoy bromeando


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