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 17-07-2005
Avatar de DarkSide
DarkSide DarkSide is offline
Miembro
 
Registrado: jun 2003
Ubicación: La Serena - Chile
Posts: 91
Poder: 21
DarkSide Va por buen camino
Question Como uso el IBDataSet?

Hola, estoy comenzando a utilizar Interbase, ya he creado una base de datos, la he enlazado con los componentes de Interbase (IBX) de Delphi 5, pero no se como utilizar el IBDataset. He ingresado las consultas SQL en las propiedades deletetSql, insertsql, modifysql y refreshsql, pero no se como dar la orden para enviarle los datos y ejecutarlas. Para capturar los datos estoy utilizando Edit.

Cualquier ayuda será bien recibida, desde ya muchas gracias.

Saludos
__________________
De los sueños se construye la realidad...
Responder Con Cita
  #2  
Antiguo 17-07-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Te dire de la manera en que lo uso, otros tienen su forma!

1) En SQLSelect introduzco la sentencia Select que deseo
2) Clic Derecho al componente, saldra una ventana(en la cual eliges los campos que deseas realizar movimientos) que generara las sentencias Modify, Update, insert qeu corresponde a SQLModify, SQLRefresh, SQLInsert respectivamente.
3) Ya hecho todo esto puedes Usar los metodos Delete, Edit, Insert del IBDataset. Ej:IBdataset.Edit, IBdataset.Insert.
A mi parecer es muy bueno ese componente, en cuestion de espacio y/o consumo de memoria y del Exe es bueno tambien, es < que IBtable y IBQuery
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 18-07-2005
Avatar de DarkSide
DarkSide DarkSide is offline
Miembro
 
Registrado: jun 2003
Ubicación: La Serena - Chile
Posts: 91
Poder: 21
DarkSide Va por buen camino
Hola vtdeleon, gracias por responder. Pero aun me queda la duda de como traspasar los datos desde los Edits a los campos, o deberé utilizar DBEdits?, u otro componente?.

Saludos
__________________
De los sueños se construye la realidad...
Responder Con Cita
  #4  
Antiguo 18-07-2005
iuqrul iuqrul is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cartagena
Posts: 36
Poder: 0
iuqrul Va por buen camino
Hola, el componente IBDataset es un IBquery + IBUpdateSQL juntos, y todos son considerados DBAware, es decir, permiten su uso en la estructura de componentes visuales de acceso a base de datos.

Para gestionar visualmente este tipo de consultas debes vincular el IBDataset a un DataSource, y a su vez componentes DBGrib, DBEdit, DBNavigator... a ese mismo DataSource, y a través de los eventos AfterPost y AfterDelete por ejemplo la transacción asociada, eso ya depende del uso preciso que necesites.

Por supuesto, puedes utilizar otro tipo de componentes y gestionar manualmente la edición de los datos:
...{Inserción}
with IBDataset do begin
Insert;
FieldByName('NombreCampoInteger').AsInteger:=integer;
FieldByName('NombreCampoString').AsString:=string;
FieldByName('NombreCampoCurrency').AsCurrency:=currency;
...
Post;
end;
...{Edición}

with IBDataset do begin
Edit;
FieldByName('NombreCampoInteger').AsInteger:=integer;
FieldByName('NombreCampoString').AsString:=string;
FieldByName('NombreCampoCurrency').AsCurrency:=currency;
...
Post;
end;

...{Borrado}

IbDataSet.Delete;

Aunque si optas o necesitas una gestión manual, quizá mejor usar IBSQL, que son más eficaces.

Un saludo.
Responder Con Cita
  #5  
Antiguo 18-07-2005
Avatar de DarkSide
DarkSide DarkSide is offline
Miembro
 
Registrado: jun 2003
Ubicación: La Serena - Chile
Posts: 91
Poder: 21
DarkSide Va por buen camino
Gracias por responder iuqrul, me ha quedado muy clara tu respuesta. Por lo que he visto al trabajar en Interbase, todas las operaciones que me indicaste quedan en memoria y solo se traspasan a la base de datos al hacer un commit a la transaccion, pero me he dado cuenta que al hacer este commit, se cierra la transacción por lo tanto tengo que volverla a abrir. Esto esta bien, o estare realizando alguna tarea equivocada?. Me avisas si necesitas ver el codigo fuente, ya que en estos momentos no lo tengo a mano.

Saludos
__________________
De los sueños se construye la realidad...
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 00:12:59.


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