Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
achicar a nivel de código.... no, pero sí que verás/notarás cambio en el rendimiento

Código:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select * from tabla where campo = ' + QuoteStr('mi_txto') );
Query.Open;
if Query.IsEmpty then
  Añadir
Por supuesto, faltaría el control de errores con try...except..end;
Responder Con Cita
  #2  
Antiguo 10-04-2004
Avatar de miguel_fr
miguel_fr miguel_fr is offline
Miembro
 
Registrado: mar 2004
Ubicación: Santiago del estero, Capital
Posts: 73
Poder: 23
miguel_fr Va por buen camino
Código:
Query.Close; {supongo que siempre se tiene que cerrar el quiery antes de cambiar las lineas de sql? }
Query.SQL.Clear; 
Query.SQL.Add('select * from tabla where campo = ' + QuoteStr('mi_texto') );
{no entiendo el uso de "QuoteStr('mi_texto')"
no se puede poner solamente "'mi_texto'" ?}
Query.Open; {para ejecutar mi Sql? }
 
if Query.IsEmpty then
Añadir
Muchas gracias me ayudo mucho estas lineas de codigo

Por supuesto, faltaría el control de errores con try...except..end;[/quote]
Responder Con Cita
  #3  
Antiguo 10-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por miguel_fr
no entiendo el uso de "QuoteStr('mi_texto')"
no se puede poner solamente "'mi_texto'" ?
Sí se puede. Lo que sucede es que muchas veces el texto a comparar provendrá de una variable de tipo string en lugar de poner directamente el texto. En esos casos deberás agregar las comillas dobles tú mismo o usar QuotedStr que lo hace por tí y permite mayor legibilidad del código.

Una observación. La idea de que con sql se logra mejor rendimiento es cierta cuando usas una base de datos "real". Si usas Paradox, normalmente el uso de TTable es más eficiente ya que está diseñado para ello. Paradox es particularmente lento con consultas sql que involucran campos de texto como en tu caso. Yo te recomiendo que hagas pruebas para ver cuál te resulta más rápido.

// Saludos
Responder Con Cita
  #4  
Antiguo 10-04-2004
Avatar de miguel_fr
miguel_fr miguel_fr is offline
Miembro
 
Registrado: mar 2004
Ubicación: Santiago del estero, Capital
Posts: 73
Poder: 23
miguel_fr Va por buen camino
Cita:
Empezado por roman
En esos casos deberás agregar las comillas dobles tú mismo o usar QuotedStr que lo hace por tí y permite mayor legibilidad del código.
yo utiliso una variable, me sirve mucho la explicacion del QuotedStr
Cita:
Empezado por roman
Una observación. La idea de que con sql se logra mejor rendimiento es cierta cuando usas una base de datos "real".
no me queda muy claro lo de BD "real"
Cita:
Empezado por roman
Si usas Paradox, normalmente el uso de TTable es más eficiente ya que está diseñado para ello. Paradox es particularmente lento con consultas sql que involucran campos de texto como en tu caso. Yo te recomiendo que hagas pruebas para ver cuál te resulta más rápido.
Yo tengo hasta ahora solamente 3 tablas en Paradox
para usar sql tendria que generar las tablas del tipo SQL Server?

Los datos que voy a utilizar son solamente texto "nombres"
, rangos predefinidos "ej. pista = "hum" o "moj" o etc " y algunos numeros "enteros"
que me recomiendan que utilice? Ttable o Tquery
gracias de nuevo
Responder Con Cita
  #5  
Antiguo 11-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Cita:
Empezado por miguel_fr
no me queda muy claro lo de BD "real"
Con una BD "real" supongo que Román se referirá a una BD transaccional estilo Firebird, Interbase, SQL Server, Oracle,.....

Cita:
Empezado por miguel_fr
Yo tengo hasta ahora solamente 3 tablas en Paradox
para usar sql tendria que generar las tablas del tipo SQL Server?
No, con Paradox puedes usar también SQL, lo que pasa es que, como bien dice Román, el SQL en Paradox es más lento.

Cita:
Empezado por miguel_fr
Los datos que voy a utilizar son solamente texto "nombres"
, rangos predefinidos "ej. pista = "hum" o "moj" o etc " y algunos numeros "enteros"
que me recomiendan que utilice? Ttable o Tquery
Supongo que todo dependerá de lo que quieras hacer
Responder Con Cita
  #6  
Antiguo 11-04-2004
Avatar de miguel_fr
miguel_fr miguel_fr is offline
Miembro
 
Registrado: mar 2004
Ubicación: Santiago del estero, Capital
Posts: 73
Poder: 23
miguel_fr Va por buen camino
Cita:
Empezado por cadetill
No, con Paradox puedes usar también SQL, lo que pasa es que, como bien dice Román, el SQL en Paradox es más lento.
entonces que tipo de BD deveria de usar para obtener todos los beneficios de SQL?¡
Cita:
Empezado por cadetill
Supongo que todo dependerá de lo que quieras hacer
Aprender a manejar SQL, almenos lo basico por ahora
Responder Con Cita
  #7  
Antiguo 11-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Si es para empezar y hacer pruebas (no complicandote demasiado la vida), con Paradox te vale. Pero más adelante, te recomiendo hagas el paso a un SGBD de los mencionados anteriormente

Nota: todos de pago menos Firebird (con licencia IPL Interbase Public Licence)
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


La franja horaria es GMT +2. Ahora son las 14:58:23.


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