Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 26/12/2007
drakkon drakkon is offline
Miembro
 
Join Date: Jun 2007
Posts: 21
Poder: 0
drakkon Va por buen camino
Cool DbGrid en Delphi 7

Que tal compañeros, tengo una consulta que hacer con ustedes los expertos. El problemas es el siguiente, estoy creando una aplicacion en delphi 7 y la he conectado a mi BD creada en MYSQL. He colocado en un form un dbgrid y ahi mismo un TQuery (BDE) y un TDataSource, el TQuery y dbgrid estan conectados al mismo Datasource. Realizo una consulta que es la siguiente:

Código SQL [-]
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('SELECT id_producto,cantidad,UM,id_tienda FROM previa_venta WHERE id_tienda="'+Edit1.Text+'";');
Query4.Open;

En el edit1 tengo una clave de la tienda.

Los datos se muestran correctamente en el DbGrid, el problema es al momento de querer modificarlos directamente en el mismo dbgrid. Ya he intentado poner la propiedad RequestLive del TQuery en true al igual que la propiedad AutoRefresh. Pero aún asi no me permite escribir nada en el Dbgrid y me arroja este error: "Couldn't perform the edit because anothe user changed the record". Y no se como solucionarlo. Podría alguien ayudarme, por favor. Esto de escribir en el dbgrid ya lo había podido hacer antes utilizando delphi 6 y sin ningun problema, pero no se cual es la diferencia o no se por que en delphi 7 me este costando trabajo.
Reply With Quote
  #2  
Old 26/12/2007
AzidRain's Avatar
[AzidRain] AzidRain is offline
Miembro Premium
 
Join Date: Sep 2005
Location: Córdoba, Veracruz, México
Posts: 2,914
Poder: 23
AzidRain Va camino a la fama
Quitale el autorefresh. Cuando editas en un dbgrid la tabla entra en modo dsBrowse mientras estas moviéndote por las filas, en cuanto das un enter para editar una celda, entra a modo dsEdit. Cuando pasas a otra fila se hace un Post de manera automática a la tabla.

Prueba quitando el autorefresh.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Reply With Quote
  #3  
Old 27/12/2007
drakkon drakkon is offline
Miembro
 
Join Date: Jun 2007
Posts: 21
Poder: 0
drakkon Va por buen camino
Ya he intentado poniendo la propiedad autorefresh en false, pero no funciona. Sigo tratando de hacer modificaciones en el dbgrid pero no puedo hacerlo, me envía el mismo error. Puedes ayudarme por favor ??
Reply With Quote
  #4  
Old 27/12/2007
jachguate's Avatar
jachguate jachguate is offline
Miembro
 
Join Date: May 2003
Location: Guatemala
Posts: 6,254
Poder: 30
jachguate Va por buen camino
¿la tabla tiene una llave primaria?

¿está dicha llave primaria identificada en el TQuery?. debiera ocurrir automáticamente, pero quizás el driver de Mysql no provee esa funcionalidad.

El mensaje de error significa que el BDE no ha podido encontrar el registro para actualizar... por tanto asume que fue modificado (o borrado) por otro usuario, en un entorno multiusuario.

Te recomiendo la lectura del libro "La Cara oculta de Delphi 4", de Ian Marteens, enfocado al desarrollo con BDE, que podes obtener en el ftp del club Delphi-Win32/Libros.

De lo aprendido en dicho libro (según creo), el BDE se basa en el valor establecido en la propiedad UpdateMode para construir la sentencia Update.

Probablemente dicho valor está establecido a upWhereAll, pero o bien hay algún campo cuyo valor es construido al vuelo o bien el valor realmente ha cambiado. Podes conseguir corregir el comportamiento dejando dicho valor en upWhereKeyOnly, para que solo en los campos que conforman la llave primaria formen parte del where, aunque esto signifique el riesgo de machacar las modificaciones realizadas por otro usuario.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Delphi for php- dbgrid omarifr PHP 2 12/10/2007 17:02
DBGrid en delphi 5 ibbeth SQL 1 03/01/2006 02:38
Modificaciones DBGrid Delphi 7 damix Varios 4 15/11/2005 19:43
Posicionar fila en un DBGRID-delphi Vivi Conexión con bases de datos 4 29/07/2005 20:49
Delphi + MySQL (DBGrid) gringo Conexión con bases de datos 5 23/10/2004 04:44


All times are GMT +2. The time now is 01:52.


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