Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con el dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=74960)

lisc_dla 21-07-2011 03:43:26

ayuda con el dbgrid
 
por favor no se si exista alguna manera, espero que me puedan ayudar estoy haciendo una aplicación con bd en mysql, es un sistema de cobro de una tienda(es mi examen), bueno en un formulario tengo varios text y un dbgrid, lo que necesito es que en el dbgrid no aparezca ningun dato, pero que pueda pasar los datos de los text a el dbgrid, por ejemplo llega un cliente y compra 10 articulos esta lista se visualice en el dbgrid pero al dar clic en el boton de nuevo el dbgrid se limpie u oculten los datos.:o:o:o:o:o

Caral 21-07-2011 03:46:44

Hola
Si es lo que pienso es muy sencillo de hacer.
Primero pregunto a ver si entiendo bien:
1-Tienes un DBgrig VACÍO (enlazado a nada).
2-Tienes muchos edits.
3-Quieres pasar los datos que escribes en esos edits al DBGrid.
Saludos

lisc_dla 21-07-2011 03:51:06

muy novato
 
si que los datos de los text pasen a el dbgrid, tengo un boton de agregar producto y otro de nueva venta, es decir que cuando de clic en agregar producto los datos del text pasen a el dbgrid, pero cuando de clic en nuevo el dbgrid quede vació, pero que los datos de mi bd no se borren.

Caral 21-07-2011 03:57:07

Hola
Hay muchas maneras de hacer lo que quieres.
Empecemos por lo primero:
Un DBgrid solo muestra el contenido de una BD, de ahi su nombre Data_Base_Grid
Que este vacio es facil.
Que lo cargues es facil.
Que lo vacies es facil.
PERO tiene que estar ligado a una BD.
Entonces como lo haces, simple, creas una tabla Temporal que usas para ir colocando (cargando) los datos, una vez que tienes lo que quieres o los transfieres a otro lado o los borras etc., etc...
Me imagino que es lo que necesitas.
Saludos

lisc_dla 21-07-2011 04:05:20

dbgrid
 
de hecho lo intente hacer con una tabla temporal, para ello utilice un clientdataset, bueno los pasos que hice son:

enlace un DataSetProvider a un ADOTable, luego enlace el clientdataset a el DataSetProvider y por ultimo enlace el dbgrid a el clientdataset mediante un datasource, pero para probar que funcionaba agregue datos a la tabla desde appserver y resulta que se visualizaban todos los datos en el dbgrid. Que no hice???

Caral 21-07-2011 04:08:13

Hola
Cita:

Empezado por lisc_dla (Mensaje 406985)
..... Que no hice???

Tu tarea :D:D:D
Te voy a hacer un ejemplo, pero dime una cosa:
El DBgrid se va cargando con los datos de los edits y estos se van guardando en una tabla ????.
Saludos

lisc_dla 21-07-2011 04:11:38

bueno mi idea es como dices, cargar los datos de los text en el dbgrid y al dar clic en el boton nueva venta los datos se guarden en la tabla, pero a la vez que se limpie el dbgrid

Caral 21-07-2011 04:13:10

Hola
Dame un minuto y te hago en ejemplo.
Saludo

lisc_dla 21-07-2011 04:14:28

claro :D:D:D

Caral 21-07-2011 04:38:42

Hola
Veamos si es mas o menos lo que quieres.
Esto te servira como tabla temporal.
Estoy tomando en cuenta que usas un adoTable, seria mejor con un adoQuery y sql, pero me imagino que sera en el siguiente curso.
De todos modos uso uno para limpiar el dbgrid, asi aprendes algo mas.:)
El ejemplo es simple.
Tienes 3 edits, colocas lo que quieras y presionas cargar Dato.
Esto lo haces las veces que quieras.
Una vez que termines simplemente presionas Nuevos datos y borra lo que esta en el dbgrid.
A ver que opinas, es un ejemplo muy simple.
Saludos

lisc_dla 21-07-2011 04:43:21

funciona perfecto. pero perdona soy novato, para que sirve el ADOConnection1 :confused:

lisc_dla 21-07-2011 04:46:57

Pero antes que nada MUCHISIMAS GRACIAS por tu ayuda :D:D:D:D:D:D

Caral 21-07-2011 04:47:49

Hola
El AdoConnection es el que enlaza a la BD, de ahi se enlazan los AdoTable y AdoQuery.
Normalmente se usa en un DataModule.
Es mas facil que enlazar a cada AdoTable o AdoQuery a la BD.
Bueno, asi es como se ha hecho siempre.
Saludos

lisc_dla 21-07-2011 04:50:06

otra vez MUCHISIMAS GRACIAS, y cualquier duda la hare saber :D:D:D

Caral 21-07-2011 04:53:00

Hola
Dale doble click al dbgrid, te saldra una pantalla pequeña.
Presiona el boton Add New, busca fileName, y ve colocando cada uno de ellos.
Esto hara que te salga el titulo arriba del dbgrid, se vera mejor.
Saludos
PD: No hay por que, con gusto.

lisc_dla 21-07-2011 21:57:31

oye un pequeño problema checando tu ejemplo cuando doy clic en nuevo datos se borra toda la bd :o

Caral 21-07-2011 22:04:03

Hola
Por eso dije: Tabla temporal.
Si quieres que los datos queden y que muestre SOLO los que estas incluyendo en el caso del ADOTable tienes que hacer un filtro y para eso tienes que generar un ID que lo identifique.
Que quieres hacer?, dime y te lo arreglo.
Saludos

lisc_dla 21-07-2011 22:19:22

si están en una tabla temporal, como guardo los datos en la tabla real. :o:(

bueno mi idea es que cuando de clic en agregar producto los datos que voy ingresando se visualicen en el dbgrid y cuando de clic en nueva venta los datos del dbgrid se guarden en la tabla, pero el dbgrid quede limpio, listo para agregar nuevos productos.

lisc_dla 21-07-2011 22:28:23

oye otra pregunta implementado el ejemplo que me distes, al dar clic en el boton nuevo me marca el siguiente error:

[MySQL][ODBC 5.1 Driver][mysqld-5.0.51b-community-nt-log]You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax to use near '*from caja' at line 1.

Caral 21-07-2011 22:33:39

Hola
El error es por que el signo * esta pegado a From (*From caja) y es (* From caja).
Segun lo que veo.
Estoy modificando el ejemplo, dame un minuto.
Saludos


La franja horaria es GMT +2. Ahora son las 10:30:13.

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