Cita:
Empezado por edgar_prospero
pues no soy un experto pero si entiendo lo que quieres decir pero yo lo que quise lograr es mediante edit agregar los datos al dbgrid y hasta al ultimo por medio de un boton guardarlo, use un componente llamado clientdataset1, pero es lo que no queria que se fuera agrgando automaticamente si no hasta que yo lo decidiera, la ayuda que pedia aqui es por otro lado, ya que tengo varios productos que corresponden a un folio por decir el folio 2 puede tener 3 registros y al trarmelos de la base de datos al dbgrid pues veo los 3 ahi mismo agrego un cuarto y quiero que se me agregue nomas ese cuarto a la base de datos es la ayuda que estoy solicitando, pero de todas formas seguire tu consejo y lo voy a leer gracias y saludos
|
Tengo la impresión de que estás usando un ClientDataSet de forma equivocada.
Vamos a ver, según entiendo, tienes una tabla de productos y una de sus columnas es un folio. Tú quieres mostrar en un DBGrid los productos correspondientes a un determinado folio y poder agregar nuevos productos, uno o más, pero que esos productos no se guarden sino hasta que tú explícitamente lo digas.
Esto lo puedes lograr ciertamente con un ClientDataSet, pero éste debe estar conectado al dataset con los productos que te interesan. Esquemáticamente hablando tienes esta hilera de conexiones:
Código:
DBGrid <---> DataSource <---> ClientDataSet <---> DatasetProvider <---> Query
El Query tendría una sentencia de este tipo:
Código SQL
[-]
select * from productos where folio := 84 # un folio determinado
Cuando uses el método Open (o pongas la propiedad Active en
true) del ClientDataSet, éste recogerá los datos del query y se mostrarán en el DBGrid. Aquí, puedes agregar, modificar o eliminar registros directamente en el grid, pero ninguno de estos cambios se reflejará en tu tabla de productos de la base de datos.
Cuando estés listo para grabar los datos, usarás el método ApplyUpdates(0) del ClientDataSet. Esto "moverá" todos los cambios que hayas hecho en el DBGrid (registros nuevos, borrados y modificados) a la base de datos final.
¿Te aclara esto algo?
// Saludos