Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por pelikno Ver Mensaje
El problema es que no se actualizan las tablas y no se porque !!
Veamos:
Terminal 1: abres la ficha de artículos, buscas el artículo 'A001' y lo tienes en pantalla.
Terminal 2: abres la ficha de artículos, buscas el artículo 'A001' y lo tienes en pantalla.

En el terminal 1 modificas el precio del artículo. Haces 'post' y 'commitretaining'.
En el terminal 2 sigues viendo la pantalla con el precio anterior, si vuelves a buscar el mismo artículo entonces te aparecerá con el nuevo precio.
¿Es eso?
Responder Con Cita
  #2  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Veamos:
Terminal 1: abres la ficha de artículos, buscas el artículo 'A001' y lo tienes en pantalla.
Terminal 2: abres la ficha de artículos, buscas el artículo 'A001' y lo tienes en pantalla.

En el terminal 1 modificas el precio del artículo. Haces 'post' y 'commitretaining'.
En el terminal 2 sigues viendo la pantalla con el precio anterior, si vuelves a buscar el mismo artículo entonces te aparecerá con el nuevo precio.
¿Es eso?
Todo correcto excepto que para ver el nuevo precio en la terminal 2 tengo que cerrar mi aplicacion y volver a ejecutar y ahi si me muestra actualizada la base, como que se tiene que desconectar para poder actualizar la tabla no se porque
Responder Con Cita
  #3  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
ademas la base si se actualiza porque por ejemplo
-terminal 1 agrego la localida con codigo 2 la grilla muestra
cod nombre
1 loc1
2 loc2


-la terminal 2 muestra o sea no se actualizo
cod nombre
1 loc1

-la terminal 2 intento agregar localidad con codigo 2 me tira error de primarykey o sea que si se agrego en la base pero la tabla no lo refleja
Responder Con Cita
  #4  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Código Delphi [-]
procedure TForm1.localidadesAfterPost(DataSet: TDataSet);
begin

CustomerData.IBTransaction1.CommitRetaining;
CustomerData.ibdatabase.ApplyUpdates([localidades]);
localidades.ApplyUpdates;
localidades.Active:=false;
localidades.Active:=true; 
localidades.Refresh;


end;

Estado de mi transaction
active = true
defaultaction =tacommit
defauldatabase = ibdatabase
Idletimer = 0
name =ibtransaction
params = read_committed
rec_version
nowait
tag = 0

estado de mi base de datos
connected= true
databasename = 192.168.1.226:C:\Documents and Settings\virtualbox\Escritorio\misistema\mibase.FDB
defaultransaction = IBTransaction
Idletimer = 0
loginpromt = false
name = ibdatabase
params = user_name=SYSDBA
password=masterkey
sql_role_name=3
lc_ctype=ISO8859_1
sqldialect = 3
tag = 0
traceflags = todas en false

----------------------------------
las ibtables tiene como database =CustomerData.ibdatabase y no se de alguna propiedad que tenga que modificar para que se actualice como tiene la componenete tquery la propiedad requestlive.
Responder Con Cita
  #5  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Código Delphi [-]
procedure TForm1.localidadesAfterPost(DataSet: TDataSet);
begin

CustomerData.IBTransaction1.CommitRetaining;
CustomerData.ibdatabase.ApplyUpdates([localidades]);
localidades.ApplyUpdates;
localidades.Active:=false;
localidades.Active:=true; 
localidades.Refresh;


end;
El commitRetaining va despues del applyupdates.
Responder Con Cita
  #6  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
El commitRetaining va despues del applyupdates.
No actualiza con ese cambio
Responder Con Cita
  #7  
Antiguo 02-05-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Si usas los componentes IBX, yo nunca usé eso de "applyupdates"

En el evento afterpost del dataset debes hacer el commit, algo así:

Código Delphi [-]
procedure TDMmain.QRcentrosCosteAfterPost(DataSet: TDataSet); 
begin 
  DataSet.Transaction.CommitRetaining; 
end;
Responder Con Cita
  #8  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
A ver vamos por parte dijo JACK

Yo para los datos uso un TDataModule y este el procedimiento cuando se crea (pone en uses IniFiles)


Código Delphi [-]
procedure TDm.DataModuleCreate(Sender: TObject);
Var BaseDeDatos: String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then
    ShowMessage('Error al cargar Base de Datos') else
    BaseGeneral.DatabaseName := BaseDeDatos;
end;

Lo que hace es leer un archivo .ini que se encuentra en el mismo directorio del ejecutable tomando la ruta de la base de datos

Dentro del .ini (BDatos.ini) tiene solo esto (Cliente/servidor):

[BD]
Path=":C:\Desarrollos\RegistroGeneral\MASTERBASE.FDB"

y en la maquina cliente por decirlo de alguna manera tengo en un directorio la copia del ejecutable pero el ini de esa maquina dice esto:

[BD]
Path="10.151.129.138:C:\Desarrollos\RegistroGeneral\MASTERBASE.FDB"

donde esa IP es donde esta la Base de datos.

Resumiendo tengo dos ejecutables, uno en el cliente/servidor y otro en el cliente pero con diferente Ini. No se si me explico.-
Proba algo similar
Responder Con Cita
  #9  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
A ver vamos por parte dijo JACK

Yo para los datos uso un TDataModule y este el procedimiento cuando se crea (pone en uses IniFiles)


Código Delphi [-]
procedure TDm.DataModuleCreate(Sender: TObject);
Var BaseDeDatos: String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then
    ShowMessage('Error al cargar Base de Datos') else
    BaseGeneral.DatabaseName := BaseDeDatos;
end;

Lo que hace es leer un archivo .ini que se encuentra en el mismo directorio del ejecutable tomando la ruta de la base de datos

Dentro del .ini (BDatos.ini) tiene solo esto (Cliente/servidor):

[BD]
Path=":C:\Desarrollos\RegistroGeneral\MASTERBASE.FDB"

y en la maquina cliente por decirlo de alguna manera tengo en un directorio la copia del ejecutable pero el ini de esa maquina dice esto:

[BD]
Path="10.151.129.138:C:\Desarrollos\RegistroGeneral\MASTERBASE.FDB"

donde esa IP es donde esta la Base de datos.

Resumiendo tengo dos ejecutables, uno en el cliente/servidor y otro en el cliente pero con diferente Ini. No se si me explico.-
Proba algo similar
Si probe copiar el ejecutable en el escritorio de la terminal y le coloque a la base de datos la ip del servidor, si no me equivoco es lo mismo que hiciste vos nada mas que no tomo la ip de un archivo. y no me actualiza cuando agrego algo me tira error de primary key
Responder Con Cita
  #10  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 15
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Si probe copiar el ejecutable en el escritorio de la terminal y le coloque a la base de datos la ip del servidor, si no me equivoco es lo mismo que hiciste vos nada mas que no tomo la ip de un archivo. y no me actualiza cuando agrego algo me tira error de primary key
¿Y como hiciste eso? Por codigo?.. no entiendo?
Responder Con Cita
  #11  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
¿Y como hiciste eso? Por codigo?.. no entiendo?
en la configuracion de la base le puse directamente la ip del servidor de mi aplicacion o sea 192.168.1.226, cuando se ejecuta en el servidor mi aplicacion es como la ip loopback porque se direcciona la base a la misma maquina, pero cuando se hace desde el cliente , la base apunta a la ip 192.168.226 cuando la localhost es 192.168.1.224 me explico ?
La ip de la base se la seteo directamente con 192.168.1.226:C:\Documents and Settings\virtualbox\Escritorio\misistema\mibase.FDB
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diseño de Sistema magnu9 Varios 14 16-10-2007 05:27:53
Consulta con diseño de BD Petolansa Varios 7 11-08-2007 02:30:01
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 20:13:50
Diseño pepelu1975 Varios 1 31-05-2004 09:55:36
duda en el diseño wonder boy SQL 3 31-03-2004 19:55:06


La franja horaria es GMT +2. Ahora son las 18:02:08.


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