Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2003
syntetiko syntetiko is offline
Miembro
 
Registrado: may 2003
Ubicación: Tenerife
Posts: 11
Poder: 0
syntetiko Va por buen camino
Utilizanción de Query como Dataset

Hola amigos!

Estoy utilizando TQuery en vez de TTable para evitar los fletch de la tablas. Sin embargo en vez de utilizar sentencias SQL tipo "INSERT INTO ..." y demás para añadir los registros a la bd utilizo métodos como si de un TTable se tratase:

ej:

tbApuntes.FieldByName 'importe').AsString:=db_importe_edit.text;
tbApuntes.Post;

y sólo uso SQL para consultas. Mi pregunta es ¿aún así estoy evitando los fletch de las tablas?, es decir ¿se obtienen las mismas ventajas/rendimiento que usando sólo sentencias SQL para añadir, borrar...por el mero hecho de usan TQuery en lugar de TTables?

gracias!
__________________
Recibe un cordial saludo! :)
Responder Con Cita
  #2  
Antiguo 06-05-2003
Avatar de haron
haron haron is offline
Miembro
 
Registrado: may 2003
Ubicación: Las Palmas de Gran Canaria
Posts: 310
Poder: 21
haron Va por buen camino
eso de que las tablas son peores que los queries es un mito.

no se que tipo de componentes estas usando. si usas los componentes de la paleta del BDE haz un pequeño experimento.

crea una tabla con muchos datos en una base de datos como Oracle o Interbase.

coloca un grid y un navegador asociados a esa tabla a traves de un query. la query contendra la sentencia 'select * from tabla'.

antes de ejecutar el programa lanza la aplicacion SQLMonitor que viene con Delphi y que se encuentra en el menu 'Database'. la aplicacion es un 'espia' que vigila la comunicacion cliente / servidor. puedes configurarlo para que capture los 'fetchs'.

ejecuta la aplicacion y situate en el ultimo registro con el navegador.

mola!!!! la query se acaba de traer todos los campos. chachi piruli!

sin embargo con una tabla no pasa lo mismo.
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda”
(Confucio)
Responder Con Cita
  #3  
Antiguo 07-05-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Pero en un Query podes definir en la consulta que columnas quieres que retorne, como eso lo procesa el motor es IMPOSIBLE que retorne todas las columnas.
Con DAO todo es posible, porque las consultas que no son PassTrough las compila previamente el DBJet, y las procesa siempre de la misma forma independientemente del servidor con que se conecte, y aunque no sea una aplicacion cliente servidor. E ahí el motivo de la "asombrosa" velocidad de DAO.

¿Qué Fetch´s querés evitar?...
¿Querés ejecutar consultas unidireccionales?


PD:
Con respecto al Subject, los TQuery esan heredados de TDataSet!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 07-05-2003
syntetiko syntetiko is offline
Miembro
 
Registrado: may 2003
Ubicación: Tenerife
Posts: 11
Poder: 0
syntetiko Va por buen camino
Mi duda surgió leyendo el capítulo 27 "Comunicación Cliente/Servidor" del libro "La cara oculta de Delphi 4" de Ian Marteens en el que desaconsejaba el uso de TTable para desarrollos client/server inlustrándolo con las míticas pruebas del SQL Monitor. Aunque tras releer el capítulo pienso que ese problema de ineficiencia sólo de da si usas BDE, en mi caso uso ADO, y la verdad es que el rendimiento es muy bueno.




PD: Gracias por el comentario del subject, tienes toda la razón, algunas veces pierdo por completo la visión formal del lenguaje. :-D
__________________
Recibe un cordial saludo! :)
Responder Con Cita
  #5  
Antiguo 07-05-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 21
__marcsc Va por buen camino
Hola buenas,

si utilizas ADO es mejor utilizar Queries, dado que la tabla se acaba traduciendo a un select * (creo que no es exactamente así pero si muy parecido)

Saludos.
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
como ligar tabla con query ? martita Varios 4 23-06-2005 19:40:56
Ella te quiere como amigo Nuria Humor 13 31-07-2004 03:00:01
Como Refrescar un Query sitrico SQL 6 02-07-2004 21:40:35
Como actualizo la b.d. en interbase con un query ? Luis Conexión con bases de datos 1 26-06-2004 00:05:14
en un Qreport como relacionar dos query URBANO Impresión 2 29-07-2003 20:05:21


La franja horaria es GMT +2. Ahora son las 09:41:09.


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