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 12-05-2006
Sito Sito is offline
Miembro
 
Registrado: abr 2006
Posts: 11
Poder: 0
Sito Va por buen camino
Line index out of bounds

Bueno estoy haciendo un select para conseguir sacar unos datos.

Tengo la sentencia SQL metica en un query y ademas hago esto:

Código SQL [-]
formProcPer.QueryListadoProcuradores.SQL[4]:=('and (ProcuradorPerito.NIF='''+FormProcPer.editNIF.Text+''')');





Pero me salta un Error EStringListError : line index out of bounds[4]

y no se relamente porque puede ser.

Gracias
Responder Con Cita
  #2  
Antiguo 12-05-2006
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
Simplemente no existe la línea 4 en el TStrings que contiene la sentencia SQL.
Si quieres agregar la línea, simplemente tienes que hacer un Add:
Código Delphi [-]
  formProcPer.QueryListadoProcuradores.SQL.Add('and (ProcuradorPerito.NIF='''+FormProcPer.editNIF.Text+''')');
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 12-05-2006
Sito Sito is offline
Miembro
 
Registrado: abr 2006
Posts: 11
Poder: 0
Sito Va por buen camino
Muchas gracias por tu respuesta y tan rapido.

Ahora el problema que me tiene atormentado es que la sentencia sql es de mas de 255 caracteres y del delphi no la ecepta
Responder Con Cita
  #4  
Antiguo 12-05-2006
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
Cita:
Empezado por Sito
Ahora el problema que me tiene atormentado es que la sentencia sql es de mas de 255 caracteres y del delphi no la ecepta
Delphi carga la sentencia en un TStrings, devido a eso delphi puede manejar TStrings de hasta 2^16 líneas (65536), donde cada línea puede tener hasta 2GB.... (Imposible!)
Por lo que el problema de la limitación lo puedes tener o bien por el motor, o bien por la herramienta de conexión... ¿Cómo llegas a pensar en este límite?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 12-05-2006
miguelml miguelml is offline
Miembro
 
Registrado: nov 2005
Posts: 24
Poder: 0
miguelml Va por buen camino
Si te excedes de los 255 caracteres, puedes concatenar la consulta con trozos mas pequeños.
Imagina que a continuación tubiese una consulta de más de 255 c.
Tendrias que hacer:

Código Delphi [-]
query1.SQL.text:='select * from '+'productos where stock<1';

Si lo divides y lo concatenas así no te dara ese error.

Un saludo!
Responder Con Cita
  #6  
Antiguo 12-05-2006
Sito Sito is offline
Miembro
 
Registrado: abr 2006
Posts: 11
Poder: 0
Sito Va por buen camino
Cita:
Empezado por delphi.com.ar
Delphi carga la sentencia en un TStrings, devido a eso delphi puede manejar TStrings de hasta 2^16 líneas (65536), donde cada línea puede tener hasta 2GB.... (Imposible!)
Por lo que el problema de la limitación lo puedes tener o bien por el motor, o bien por la herramienta de conexión... ¿Cómo llegas a pensar en este límite?
Porque me da este error al intentar hacerlo:

Cita:
[Error] unidadFormProcPer.pas(344): String literals may have at most 255 elements
Responder Con Cita
  #7  
Antiguo 12-05-2006
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
Cita:
Empezado por Sito
Porque me da este error al intentar hacerlo:
Ese es otro tema, no tiene que ver con la capacidad de los strings, sino la del parser del compilador, la ayuda es tan buena:
Cita:
Empezado por Ayuda de Delphi
This error message occurs when you declare a string type with more than 255 elements, if you assign a string literal of more than 255 characters to a variable of type ShortString, or when you have more than 255 characters in a single character string.

Note that you can construct long string literals spanning more than one line by using the '+' operator to concatenate several string literals.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 12-05-2006
Sito Sito is offline
Miembro
 
Registrado: abr 2006
Posts: 11
Poder: 0
Sito Va por buen camino
Cita:
Empezado por delphi.com.ar
Ese es otro tema, no tiene que ver con la capacidad de los strings, sino la del parser del compilador, la ayuda es tan buena:
muchisimas gracias, todo solucionado
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
List Index out of bounds (10) sostro Firebird e Interbase 5 19-05-2005 16:18:06
List Index out of bounds (10)... sostro Conexión con bases de datos 3 17-05-2005 17:00:39
List Index out of Bounds(0) Esau Conexión con bases de datos 3 04-11-2004 10:27:36
List index out of bounds(6) al desencriptar nefy Varios 6 28-06-2004 19:07:20
List index out of bounds jmselesan OOP 0 03-12-2003 15:14:53


La franja horaria es GMT +2. Ahora son las 00:47:21.


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