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 15-09-2004
BetoAlonso BetoAlonso is offline
Miembro
 
Registrado: jul 2003
Posts: 113
Poder: 21
BetoAlonso Va por buen camino
Unhappy Parametros en firebird

Saludos estimados foristas

deseo saber si existe alguna manera de controlar la cantidad de parametros que envio a un SP, resulta que tengo un SP que en algunos casos va a requerir de 4 parametros y en algunos otros solo de 3 como le indico dentro del SP la tarea a realizar de acuerdo a la cantidad de parametros enviados.

gracias
Responder Con Cita
  #2  
Antiguo 16-09-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Aunque no conozco si hay una funcion que cuente los parametros, no es simplemente:

if Param4 EstaVacio
else

???
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 16-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Yo uso esta función para mandarle los parámetros que sea, pruebalo:
Código:
function EjecProc(SP:TIBStoredProc;ParamEntrada,ParamEBusqueda,ParamResultado:String; ContResult:Byte):String;
var x,y:byte;
begin
{**Parámetros
  Parámetros de Entrada, Parámetros de Busqueda, Parámetros de Salida(Resultado), Número de Resultados a Devolver}
  for y:=1 to 2 do
	for x:=1 to ContResult do
	  Resultados[x,y]:='';
  sp.Prepare;
  ExtraerCamposDatos(ParamEntrada,ParamEBusqueda,ParamResultado);
  if ParamEntrada<>'' then begin
	if c>0 then
	  for x:=1 to c do
		if (Campox[x]<>'') and (Datox[x]<>'') then
		  sp.ParamByName(campox[x]).value:=Datox[x];
  end;
  sp.ExecProc;
  if ContResult=1 then
	result:=sp.ParamByName(resultx[1]).AsString
  else
	if sp.RecordCount =1 then begin
	  for x:=1 to ContResult do begin
		Resultados[x,1]:=sp.ParamByName(resultx[x]).AsString;
		if Resultados[x,1]='' then Resultados[x,1]:='1';
	  end
	end else
	  for y:=1 to sp.RecordCount do begin
		for x:=1 to ContResult do begin
		  Resultados[x,y]:=sp.ParamByName(resultx[x]).AsString;
		  if Resultados[x,y]='' then Resultados[x,y]:='1';
		end;
		sp.Next;
	  end;
end;
(***********************************************************************************
Resultados[]: Es un Arreglo de 2 dimensiones de tipo String.
ExtraerCamposDatos : Es una función que te separa los parámetros, poniendole comas(,) en las separaciones, por ejemplo:
Parametro de Entrada: Clave,Nombre,Dirección

Espero te Ayude. Sino estoy a sus ordenes.
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 17:40:50.


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