Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2012
vijumaba89 vijumaba89 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 2
Poder: 0
vijumaba89 Va por buen camino
Problema editando DataSource

Hola amigos... no se si este sea el Foro correcto... soy nuevo en esto y ando algo perdido. Estoy trabajando con Lazarus.
Mi problema es el siguiente:
Tengo un TDataSource el cuál lleno con el resultado de un SQLQuery. Lo que deseo es poder recorrer dicho datasource y hacer una actualizaión de un campo especifico del registro en el que me encuetro.
Hasta el momento he logrado hacer el recorrido pero cuando trato de actualizar el valor del campo del datasource, me genera un error que me dice que el dataset is read-only, he intentado hacerlo de varias manera y siempre obtengo el miso error.
No se si alguno de ustede pueda ayudarme... se lo agradeceria inmensamente.

El código que uso es el siguiente:

Código Delphi [-]
dso_rpt_balance.DataSet.First; // Posiciono el Dataset en la primera posicion 
while not dso_rpt_balance.DataSet.EOF do 
begin           //Inicio el recorrido         
                  // hago las operaciones que deseo para obtener el valor que voy a actualizar        
  {........}        //Luego coloco el dataset en modo de edición        
  dso_rpt_balance.DataSet.Edit;                  
  dso_rpt_balance.DataSet.FieldByName('nombrecampo').AsString:='10000'; //Seteo el valor al campo deseado        
  dso_rpt_balance.DataSet.Post;                 
  dso_rpt_balance.DataSet.Next;     
  // Avanzo en el ciclo   
end;

Si alguién tiene idea de como puedo resolver el problema u otra manera de hacer lo que deseo... estaría de maravilla....

Última edición por Casimiro Notevi fecha: 10-04-2012 a las 17:36:12. Razón: Poner etiquetas [delphi] [/delphi]
Responder Con Cita
  #2  
Antiguo 10-04-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Bienvenido a los foros de Club Delphi, te recomiendo que le des una leida a la Guía de Estilo.

Sobre tu duda, si la consulta sobre la que tratas de hacer los cambios es una consulta compleja, o sea, tiene joins, group by, etc... entonces no es posible que la puedas modificar de la forma que deseas.

Ahora bien, si es una consulta sencilla (select * from table1), entonces tienes que checar que la propiedad RequestLive del componente SQLQuery tenga como valor True.

Todo esto te lo comento desde la perspectiva de Delphi, no se si en Lazarus el componente SQLQuery cuente con esta propiedad.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter

Última edición por maeyanes fecha: 10-04-2012 a las 18:39:59.
Responder Con Cita
  #3  
Antiguo 10-04-2012
vijumaba89 vijumaba89 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 2
Poder: 0
vijumaba89 Va por buen camino
Hola amigo... muchas gracias por tu pronta respuesta...

Efectivamente el query qe ejecuto con el SQLQuery tiene de todo un poco joins, group by.

No se si exista otra manera de hacerlo.... lo que necesito es despues de tomar los datos de una consulta poder actualizar esos datos con valores que obtengo de otro proceso. No se si usando otro componente pueda hacerlo....?
Responder Con Cita
  #4  
Antiguo 10-04-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Pues tendrías que actualizar las tablas involucradas independientemente. Otra forma que se me ocurre es que uses una vista actualizable, pero esto depende mucho del motor de base de datos que utilices.

También tienes la opción de usar procedimientos almacenados, pero como en el caso de las vistas, depende del motor de base de datos que utilices.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
Respuesta



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
Editando un post cmm07 Varios 1 24-03-2012 23:43:16
Editando un archivo de texto sirsolrac Varios 14 15-02-2008 14:04:59
Insertando, editando y buscando datos en un mismo formulario canelita Conexión con bases de datos 6 05-09-2007 07:40:30
saber cuando estoy editando un registro jhcaboverde Varios 4 13-02-2007 00:30:48
Problema urgente con un datasource Yago OOP 2 16-06-2006 01:36:11


La franja horaria es GMT +2. Ahora son las 03:04:01.


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