Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-08-2005
Avatar de Repelus
Repelus Repelus is offline
Miembro
 
Registrado: feb 2004
Posts: 27
Poder: 0
Repelus Va por buen camino
Question Duda sobre IBQuery...

Muy buenas, señores del foro....
Soy novato en Interbase y sus respectivos componentes para Delphi y tengo un problema con el componente IBQuery, espero puedan ayudarme.

Utilizo D6, Interbase 6 y los componentes Interbase (TIB...).
Tengo la base de datos creada y en la aplicacion muestro un dbgrid con los datos de una consulta (IBQuery). El problema es que cuando intento hacer un insert o un edit a traves de los metodos IBQuery.Insert/Edit aparece un error que indica que no puedo modificar un dataset de tipo 'read-only'. ¿Acaso no se puede insertar o modificar sobre este componente enlazado a DBEdits o similares?, ¿es obligatorio realizar estas acciones a traves de sentencias SQL?.
¿Pueden sacarme de esta oscuridad en la que estoy sumido?, gracias compañeros.
Responder Con Cita
  #2  
Antiguo 13-08-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Un TIBQuery solo ejecuta la query que le hayas indicado. Si quieres poder insertar o modificar registros, tienes que:

* añadir un objeto TIBUpdateSQL, este objeto es el que se encargara de ejecutar las querys de modificacion, insercion, etc.

* Enlazar el componente TIBQuery con el TIBUpdateSQL , para ello en la propiedad UpdateObject del IBQuery le indicas el objeto IBUpdateSQL que acabas de añadir.

* Hacer un doble-click sobre el componente TIBUpdateSQL que acabas de añadir, y te sale una ventana de dialogo de configuracion donde debes indicar las 4 queries que se necesitan, la de insercion, la de modificacion, la de borrado, y la de refresco.
No es necesario teclearlas manualmente (aunque se puede), basta pulsar el boton "Generate SQL" para que se generen automaticamente a partir de la informacion del IBQquery.
Pero antes de pulsar "Generate SQL" debes indicar en ese dialogo que campos quieres que se puedan modificar, asi como los campos que forman la clave primaria de la tabla.

SAludos
Responder Con Cita
  #3  
Antiguo 14-08-2005
Avatar de Repelus
Repelus Repelus is offline
Miembro
 
Registrado: feb 2004
Posts: 27
Poder: 0
Repelus Va por buen camino
Gracias Mick por la informacion.
De todas formas he visto que el TIBDataset hace él solo las funciones de TIBQuery y de TIBUpdateSQL, pero por lo visto siempre hay que indicar las 4 queries que se necesitan. Esto no pasaba con las querys de ADO creo recordar y es lo que me despistaba.
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


La franja horaria es GMT +2. Ahora son las 23:09: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