Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 21-03-2009
alquimista_gdl alquimista_gdl is offline
Miembro
 
Registrado: ago 2008
Ubicación: Guadalajara, México
Posts: 78
Poder: 18
alquimista_gdl Va por buen camino
Hola Al,

Creo que nos estamos yendo por la tangente. El problema no es actualizar un registro en "regoper_part_v", sino en la tabla padre: "regoper". El problema original viene del código inicialmente mostrado en el hilo (aquí un poco más legible):

Código Delphi [-]
    pe_regoper.z_DataSet.Edit;
    pe_regoper.TotalImporte:= 0;
    pe_regoper.TotalIVA:= 0;

    with pe_regoper.Partidas.z_dataSet do
    begin
      First;
      while not Eof do
      begin
        {00010}
        pe_regoper.TotalImporte:= pe_regoper.TotalImporte + pe_regoper.Partidas.Importe;
        {00013}
        pe_regoper.TotalIVA:= pe_regoper.TotalIVA + pe_regoper.Partidas.IVA;
        next;
      end;
    end;

    pe_regoper.z_dataSet.Post;

    if TClientDataSet( pe_regoper.z_dataSet ).ApplyUpdates(0) > 0 then
      TClientDataSet( pe_regoper.z_dataSet ).CancelUpdates;

Es en el ApplyUpdates que tengo el error ya mencionado. Ubiqué un ZSQLMonitor, y aquí está el código que genera para hacer la actualización:

Código SQL [-]
update `regoper` set `rop_totiva` = 4293.06005859375 where `regoper_id` = 689349199046620201

La verdad no veo problema; pero en fin, he aquí más datos. El Provider de regoper_v tiene el evento correspondiente:

Código Delphi [-]
procedure Tdm.DataSetProvider_regoperGetTableName(Sender: TObject;
  DataSet: TDataSet; var TableName: String);
begin
  TableName:= 'regoper';
end;

Y el SQL del ZQuery de regoper_v es:

Código SQL [-]
select * from regoper_v
order by cli_nombre

La vista consiste de:

Código SQL [-]
select `regoper`.`regoper_id` AS `regoper_id`,
`regoper`.`cliente_id` AS `cliente_id`,
`cliente`.`cli_rfc` AS `cli_rfc`,
`cliente`.`cli_nombre` AS `cli_nombre`,
`regoper`.`rop_fechainicial` AS `rop_fechainicial`,
`regoper`.`rop_fechafinal` AS `rop_fechafinal`,
`regoper`.`rop_cierre` AS `rop_cierre`,
`regoper`.`rop_totimporte` AS `rop_totimporte`,
`regoper`.`rop_totiva` AS `rop_totiva` 

from (`regoper` left join `cliente` on((`cliente`.`cliente_id` = `regoper`.`cliente_id`)))
Responder Con Cita
 


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
TClientDataSet.applyupdates (error: record not found or changed by another user) Bauhaus1975 Conexión con bases de datos 11 17-03-2009 11:30:51
applyupdates (record not found or changed by another user) Stell Conexión con bases de datos 4 13-05-2008 13:36:20
Error: "Record not found or changed by another user" jmlifi Varios 0 27-01-2006 10:16:57
Record not found or changed by another user felixgo Conexión con bases de datos 1 30-09-2005 13:07:40
Record not found or changed by another user. Luis Conexión con bases de datos 2 12-08-2005 19:50:45


La franja horaria es GMT +2. Ahora son las 15:50:39.


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