Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2003
Esau Esau is offline
Miembro
 
Registrado: may 2003
Ubicación: Canto Rey
Posts: 140
Poder: 21
Esau Va por buen camino
List Index out of Bounds(0)

Hola Amigos estoy haciendo una aplicacion en 3 capas y en la capa intermedia estoy tratando de colocar un componente TSQLStoredProced lo conecto y le doy el nombre del procedimiento al que hace referencia en la base de datos, le asigno los parametros y los tipos de datos y cuando cambio la propiedad active a true me sale un mensaje como este LIST INDEX OUT OF BOUNDS(0). Cuando trabajaba con el BDE SOlo ponia un StoredProc le asignaba el nombre y automaticamente en la propiedad Params aparecian los parametros, pero con DBExpress no pasa lo mismo , ah la base de datos que uso es Microsoft SQL Server 7.0 y Delphi 7.0, por favor ayudenme , gracias
Responder Con Cita
  #2  
Antiguo 09-09-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

¿ El procedimiento almacenado devuelve un conjunto de datos, o solo unos parámetros de salida ?.

Si no devuelve ningún conjunto de datos, no puedes abrirlo con una Active = True, sinó que debes ejecutarlo con un ExecProc.

Si se devuelve un conjunto de datos (un dataset), al menos en dbExpress con Interbase (imagino que con SQL Server habrá el mismo problema), no está implementado que se pueda abrir directamente el DataSet mediante el TSQLStoredProc. De forma que para abrir ese conjunto de datos se tiene que hacer mediante un TSQLQuery de este tipo :

select * from Procedimiento(:Parametro1, :Parametro2)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 09-09-2003
Esau Esau is offline
Miembro
 
Registrado: may 2003
Ubicación: Canto Rey
Posts: 140
Poder: 21
Esau Va por buen camino
Mi procedimiento almacenado solo devuelve unos parametro no devuelve un conjunto de datos , estoy tratando de todas las formas pero nada , lo que hice fue esto
en la capa intermedia puse un proveedor apuntado al SQLStoredProc, y en la capa final he puesto un ClientDataset apuntando al proveedor, y cuando quiero ejecutarlo hago Clientdataset1.params[0].value = valor ;
ClientDataset1.Execute;

y me sigue apareciendo el mismo erro LIST INDEX OUT OF BOUNDS (0) , voy a probar con otra cosa
Responder Con Cita
  #4  
Antiguo 04-11-2004
scooterjgm scooterjgm is offline
Miembro
 
Registrado: ago 2004
Posts: 115
Poder: 20
scooterjgm Va por buen camino
Yo tuve ese mismo error...

En mi caso era pq hacia referencia a unos datos cargados en memoria q estaban visibles pero internamente ya no estaban, me explico, los seguia viendo en el TreeList pero en la memoria habia otros datos cargados, entonces al hacer clic en cualkier parte del formulario me salia ese error.

Un Saludo.
__________________
Hay 10 tipos de personas, las que entienden el código binario y las que no.

ww.clubdelphi.com/foros/guiaestilo.php
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 08:34:34.


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