Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2012-10

DBgrib y zquery active.....error insertar dato en columna

6 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

pedrinlazarus en htmltest.comeze.com

Buenas.

Pasa lo siguiente, tengo un zquery activado para insertar datos desde la dbgrib, los datos se guardar correctamente, hasta alli todo bien....

El problema esta en que quise actualizar una columna dependiendo de otra (si columna[0]=x entonces columna[1]=Y)

para ello como no encontr para la dbgrib el evento onchange entonces utilice un dbedit para el onchange y aqu es donde viene el error que por lo que estuve leyendo es el evento el que lo provoca.

en el onchange del dbedit realizo una consulta dependiendo de la columna[0]

ya con un dato o valor agregado lo q por supuesto activa el evento

 ________select (Xcosa) from Tabla where x=columna[0].text;

le doy open a la consulta y luego le asigno el valor que encontr a la columna de la dbgrib

________dbgrib.columna[1].field.text=query.datafielbyname(x).AsString;

Aqui todo bien pero luego cuando cuando ya habia agregado varias filas con datos y quise seleccionar una fila de mas arriba con el mouse o con flechita arriba
me tiro el siguiente error

_____dataset not in edit or insert mode

Al final lo que deseo es que la columna numero uno se actualice a un valor dependiendo de lo que agregue en la columna cero

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20121019/2ab42930/attachment.html>

Reply by email

Jorge Martinez Saez
to pedrinlazarus en htmltest.comeze.com

El 19-10-2012 23:09, pedrinlazarus en htmltest.comeze.com escribi�:

Show quoted text 41 lines
Buenas. Pasa lo siguiente, tengo un zquery activado para insertar datos desde la dbgrib, los datos se guardar correctamente, hasta alli todo bien.... El problema esta en que quise actualizar una columna dependiendo de otra (si columna[0]=x entonces columna[1]=Y) para ello como no encontr� para la dbgrib el evento onchange entonces utilice un dbedit para el onchange y aqu� es donde viene el error que por lo que estuve leyendo es el evento el que lo provoca. en el onchange del dbedit realizo una consulta dependiendo de la columna[0] ya con un dato o valor agregado lo q por supuesto activa el evento ________select (Xcosa) from Tabla where x=columna[0].text; le doy open a la consulta y luego le asigno el valor que encontr� a la columna de la dbgrib ________dbgrib.columna[1].field.text=query.datafielbyname(x).AsString; Aqui todo bien pero luego cuando cuando ya habia agregado varias filas con datos y quise seleccionar una fila de mas arriba con el mouse o con flechita arriba me tiro el siguiente error _____dataset not in edit or insert mode Al final lo que deseo es que la columna numero uno se actualice a un valor dependiendo de lo que agregue en la columna cero _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Hola:

Creo que NO es un error.... solo debes poner el dataset en edit mode para poder modificar datos.

Puedes hacerlo mediante codigo en el mismo evento.

Saludos

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20121020/46ecba2e/attachment-0001.html>

Reply by email

Jose Daboin
to Jorge Martinez Saez

No me explique bien, no es un error per se de lazarus sino que el evento llama un post antes del procedimiento y tira error, a la hora que realice la pregunta era tardisimo y veia borroso XD, le estaba colocando el edit al dataset que no era, ahora ya no tira el error pero peor aun ya mo me guarda datos porq al hacer el edit se vuelve inactivo el query donde estoy guardando los datos desde la dbgrib

El 20 de octubre de 2012 00:46, Jorge Martinez Saez < jorge.martinez.saez en gmail.com> escribi�:

Show quoted text 60 lines
El 19-10-2012 23:09, pedrinlazarus en htmltest.comeze.com escribi�: Buenas. Pasa lo siguiente, tengo un zquery activado para insertar datos desde la dbgrib, los datos se guardar correctamente, hasta alli todo bien.... El problema esta en que quise actualizar una columna dependiendo de otra (si columna[0]=x entonces columna[1]=Y) para ello como no encontr� para la dbgrib el evento onchange entonces utilice un dbedit para el onchange y aqu� es donde viene el error que por lo que estuve leyendo es el evento el que lo provoca. en el onchange del dbedit realizo una consulta dependiendo de la columna[0] ya con un dato o valor agregado lo q por supuesto activa el evento ________select (Xcosa) from Tabla where x=columna[0].text; le doy open a la consulta y luego le asigno el valor que encontr� a la columna de la dbgrib ________dbgrib.columna[1].field.text=query.datafielbyname(x).AsString; Aqui todo bien pero luego cuando cuando ya habia agregado varias filas con datos y quise seleccionar una fila de mas arriba con el mouse o con flechita arriba me tiro el siguiente error _____dataset not in edit or insert mode Al final lo que deseo es que la columna numero uno se actualice a un valor dependiendo de lo que agregue en la columna cero _______________________________________________ Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es Hola: Creo que NO es un error.... solo debes poner el dataset en edit mode para poder modificar datos. Puedes hacerlo mediante codigo en el mismo evento. Saludos _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
*Saludos. Jose Daboin* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20121020/7a883fc0/attachment.html>

Reply by email

José Mejuto
to pedrinlazarus en htmltest.comeze.com: Buenas. Pasa lo siguiente, tengo un zquery activado para insertar datos desde la dbgrib,…

El 20/10/2012 5:09, pedrinlazarus en htmltest.comeze.com escribi�:

________dbgrib.columna[1].field.text=query.datafielbyname(x).AsString;
dbgrid.DataSource.Edit;
dbgrid.DataSource.Dataset.FieldByName('fieldname').asString:=query.datafielbyname(x).AsString;

S�lo puedes acceder a las columnas del registro actual, as� que columna[1] no tiene sentido.

Reply by email

pedrinlazarus en htmltest.comeze.com
to José Mejuto

Es lo mismo.

El zquery1 lo tengo activo con una consulta y en la dbgrib le inserto los datos, el detalle esta en que en una de las columnas necesito que aparesca un valor automaticamente, haciendolo como tu dices es "lo mismo" que como yo dije ya que es como si estuviera escribiendo el dato en la columna por medio de te clado, Los datos se guardan correctamente Pero cuando subo una fila de la dbgrib ya sea con el mouse o con el teclado tira error porq la zquer1 esta activo y no en edicion o insertar. Pero cuando le meto la linea dbgrid.DataSource.Edit o un edit el zquery.active se vuelve false y no guarda ninguno de los datos que estoy ingresando en la dbgrib.

Ese es el problema.

Sin edit guarda pero al subir un registro mas arriba tira error.

Con edit no guarda nada.

Ejemplo:LLevo insertado todos estos datos(sin el data set en edit)

==============================
!! ID !!Dato1!!!Dato2!!!Dato3!!
==============================
!! 1 !!valor1!!valor2!!valor3!!
==============================
!! 2 !!valor1!!valor2!!valor3!!
==============================
!! 3 !!valor1!!valor2!!valor3!!
==============================

Supongamos que llego al tercer id pero me doy cuenta que el id=1 hay un dato erroneo y me pociciono sobre la columna a modificar entonces alli me tira error.

Si no lo Hago(Subir un registro) y Desactivo el zquery los datos se guardan correctamente en la base de datos.

Si lo hago con dataset edit no se guarda nada.

Jos� Mejuto wrote 7 lines
El 20/10/2012 5:09, pedrinlazarus en htmltest.comeze.com escribi�: > ________dbgrib.columna[1].field.text=query.datafielbyname(x).AsString; > dbgrid.DataSource.Edit;
dbgrid.DataSource.Dataset.FieldByName('fieldname').asString:=query.datafielbyname(x).AsString;
Show quoted text 9 lines
S�lo puedes acceder a las columnas del registro actual, as� que columna[1] no tiene sentido. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

José Mejuto
to pedrinlazarus en htmltest.comeze.com

El 20/10/2012 16:09, pedrinlazarus en htmltest.comeze.com escribi�:

Show quoted text 13 lines
Es lo mismo. El zquery1 lo tengo activo con una consulta y en la dbgrib le inserto los datos, el detalle esta en que en una de las columnas necesito que aparesca un valor automaticamente, haciendolo como tu dices es "lo mismo" que como yo dije ya que es como si estuviera escribiendo el dato en la columna por medio de te clado, Los datos se guardan correctamente Pero cuando subo una fila de la dbgrib ya sea con el mouse o con el teclado tira error porq la zquer1 esta activo y no en edicion o insertar. Pero cuando le meto la linea dbgrid.DataSource.Edit o un edit el zquery.active se vuelve false y no guarda ninguno de los datos que estoy ingresando en la dbgrib. Ese es el problema.

Hola,

Depende de si la conexi�n tiene autocommit y/o "cached updates". Prueba con:

dataset.edit;
fieldbyname('kk').asLoqueSea:=...
dataset.post;

Reply by email