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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
A mi escaso entender:
Esto:
Código Delphi [-]
tabla.open;
.............
Es exactamente lo mismo que esto:
Código Delphi [-]
Select * from Tabla

En otras palabras, te traes todo el contenido de la tabla, te guste o no.
Por lo tanto; Es mas simple, SI?, tal vez, pero no es mejor que hacer el edit, insert, ect directamente al campo sin traer nada extra.

Repito: a Mi pequeño, muy pequeño entender.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 09-07-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
A mi escaso entender:
Esto:
Código Delphi [-]
tabla.open;
.............
Es exactamente lo mismo que esto:
Código Delphi [-]
Select * from Tabla

En otras palabras, te traes todo el contenido de la tabla, te guste o no.
Por lo tanto; Es mas simple, SI?, tal vez, pero no es mejor que hacer el edit, insert, ect directamente al campo sin traer nada extra.

Repito: a Mi pequeño, muy pequeño entender.
Saludos
Casi nunca uso el TTable o sus decendientes... por lo general uso un query para evitar traerme todos los registros.

Código SQL [-]
select * from tabla where id = :id

y luego hago las modificaciones en ese registro...

Código Delphi [-]
  Query1.edit;
  ...
  Query1.post;

igual trabaja para las inserciones.

Otra opinión no sobra...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 09-07-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por movorack
select * from tabla where id = :id
y luego hago las modificaciones en ese registro...
Es lo más sensato.
Responder Con Cita
  #4  
Antiguo 09-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Bueno, como diria mi amigo Egostar: Depende, depende....
Si hablamos de los componentes (y por eso mencione que SI depende de ellos) en el caso de los IBQuery esto no se puede hacer, envia un hermoso error ya que no permiten hacer ediciones, inserciones etc....
Para esto se usarian los IBDataset, que en tal caso lo hacen algo diferente.
Por otro lado:
Me extraña que un programador con la esperiencia de AzidRain diga abiertamente que es lo mismo y que no afecta en la velocidad traer todos los registros con un Table.Open para hacer un edit, inser u otro y que ademas es mas simple.
No se, pero la idea es darle a las personas la solucion optima, la mas apropiada y no la mas simple que dara problemas a la larga.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 09-07-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Ya que se admiten consejos, si me lo permiten... aquí va otro:
Jamás de los jamases se debe emplear asterisco. ¡Es una práctica tediosa e ineficiente! Es algo que hay que erradicar... ¡DI NO a *!

El uso del asterisco obliga al motor realizar dos consultas previas sobre las tablas del sistema: la primera para extraer los campos de dicha tabla, la segunda para pre armar la consulta definitiva. Luego recién se lanza la consulta que se ha elaborado.

Es mucho más liviano y práctico indicar los campos EXTRICTAMENTE NECESARIOS que lanzar un select *. Si admito que es muy molesto e incómodo cuando la tabla tiene demasiados campos, pero en definitiva lo que habría que preguntarse es: ¿Es necesario suministrar todos los campos? Si es un si pues ni modo, a enlistarlos. Si la funcionalidad a la que estamos por brindar soporte no requiere devolver todos los campos... ¿Qué sentido tiene el *?

Otra posibilidad que cabría poner en discusión cuando la cantidad de campos es alta es la de preguntarse si estará bien normalizada. Encontrar un adecuado equilibrio entre la normalización y desnormalización es tanto un arte como una ciencia.



Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 09-07-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
El uso de tablas sólo puede ser factible usarlo con las que tienen pocos registros, por ejemplo:
tbTiposIVA que va a tener menos de 5 registros.

Última edición por Casimiro Noteví fecha: 10-07-2010 a las 19:13:08.
Responder Con Cita
  #7  
Antiguo 09-07-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
El uso de tablas sólo puede factible usarlo con las que tienen pocos registros, por ejemplo:
tbTiposIVA que va a tener menos de 5 registros.
¿ 5 tipos de IVA? Allá... porque por este lado de la tierra los políticos se inventan uno por día. Son capaces de hasta sacar impuesto hasta por el O2 que consumimos... y para hacerlo más chungo... los cálculos del impuesto estarán basados en O2/hora.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 09-07-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bueno, he dicho 5, pero hay 3 tipos:

El normal: 18% (antes del 1 de julio era del 16% )
El reducido: 8% (antes del 1 de julio era del 7% )
El superreducido: 4% (este no ha cambiado)
El exento: 0% (este es el mejor)

Última edición por Casimiro Noteví fecha: 10-07-2010 a las 19:14:16.
Responder Con Cita
Respuesta


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
Delphi 6 y Firebird 2.1 Pedro-Juan Conexión con bases de datos 7 21-09-2008 00:22:51
Firebird y Delphi 7 miguel_e Conexión con bases de datos 2 16-11-2007 18:11:23
firebird y delphi.net julyus Firebird e Interbase 2 25-10-2006 15:48:51
Delphi 5 y Firebird alexcabo Firebird e Interbase 3 18-07-2006 01:40:24
Firebird en Delphi JXJ Firebird e Interbase 3 04-11-2005 20:19:48


La franja horaria es GMT +2. Ahora son las 17:49:14.


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