Procedimientos Almacenados - Parametros

30/12/2004 - 23:55 por Romero Diego | Informe spam
Hola
Todos

Tengo un problema :
La tabla que describo a continuación tiene muchos campos y tengo que hacer
un reporte donde en una lista esten los nombres de los campos y el usuario
seleccione los que desee filtrar, esto se hace desde VB

El problema es como hago un procedimiento almacenado para paserle los
parametros segun los campos que seleccione o necesariamente debo crear
parametro por campo ?

SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor, IdTipoVeh,
IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh, Pasajeros,
PasajPie, CapTanque, NumeroMotor, SerieChasis,
Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub, IdEmpresa,
IdPropietario,
IdConductor, IdTipoPro, Adquisicion,IdGrupo,VehPropio,
IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
ValorAsegurado,ValorCupo, IdAdmon,
NumContrato,ContratoActivo,FecIngreso,
FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion, FecTarjOper,
VigTarjOper, CertGases, FecCertGases, VigCertGases,
Kilometraje, KmsCompra,
Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
IdEstado, FechaAdd, FechaUpdate, IdUsuario
FROM Vehiculos
WHERE ' aqui la condición que depende de los campos que seleccione el
usuario

gracias



Diego

Preguntas similare

Leer las respuestas

#1 MAXI
31/12/2004 - 00:13 | Informe spam
Hola pasale un param por campo y podrias hacer algo asi como


select campor where campo1 = isnull(@var1,campo1)

Suerte




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

Msn Messenger:

"Romero Diego" escribió en el mensaje
news:%
Hola
Todos

Tengo un problema :
La tabla que describo a continuación tiene muchos campos y tengo que hacer
un reporte donde en una lista esten los nombres de los campos y el usuario
seleccione los que desee filtrar, esto se hace desde VB

El problema es como hago un procedimiento almacenado para paserle los
parametros segun los campos que seleccione o necesariamente debo crear
parametro por campo ?

SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor,
IdTipoVeh,
IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh,
Pasajeros,
PasajPie, CapTanque, NumeroMotor, SerieChasis,
Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub,
IdEmpresa,
IdPropietario,
IdConductor, IdTipoPro,
Adquisicion,IdGrupo,VehPropio,
IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
ValorAsegurado,ValorCupo, IdAdmon,
NumContrato,ContratoActivo,FecIngreso,
FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion,
FecTarjOper,
VigTarjOper, CertGases, FecCertGases, VigCertGases,
Kilometraje, KmsCompra,
Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
IdEstado, FechaAdd, FechaUpdate, IdUsuario
FROM Vehiculos
WHERE ' aqui la condición que depende de los campos que seleccione el
usuario

gracias



Diego





Respuesta Responder a este mensaje
#2 Romero Diego
31/12/2004 - 02:09 | Informe spam
Gracias por su aporte
esto era lo que no queria, pues me parece demasiado tedioso escribir
parametros campo por campo; pero si no
hay mas opción con los Proc.Almacenados.

Diego

"MAXI" escribió en el mensaje
news:
Hola pasale un param por campo y podrias hacer algo asi como


select campor where campo1 = isnull(@var1,campo1)

Suerte




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

Msn Messenger:

"Romero Diego" escribió en el mensaje
news:%
> Hola
> Todos
>
> Tengo un problema :
> La tabla que describo a continuación tiene muchos campos y tengo que


hacer
> un reporte donde en una lista esten los nombres de los campos y el


usuario
> seleccione los que desee filtrar, esto se hace desde VB
>
> El problema es como hago un procedimiento almacenado para paserle los
> parametros segun los campos que seleccione o necesariamente debo crear
> parametro por campo ?
>
> SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor,
> IdTipoVeh,
> IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh,
> Pasajeros,
> PasajPie, CapTanque, NumeroMotor, SerieChasis,
> Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub,
> IdEmpresa,
> IdPropietario,
> IdConductor, IdTipoPro,
> Adquisicion,IdGrupo,VehPropio,
> IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
> ValorAsegurado,ValorCupo, IdAdmon,
> NumContrato,ContratoActivo,FecIngreso,
> FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
> Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
>


,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
> CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion,
> FecTarjOper,
> VigTarjOper, CertGases, FecCertGases, VigCertGases,
> Kilometraje, KmsCompra,
> Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
> IdEstado, FechaAdd, FechaUpdate, IdUsuario
> FROM Vehiculos
> WHERE ' aqui la condición que depende de los campos que seleccione el
> usuario
>
> gracias
>
>
>
> Diego
>
>
>
>
>


Respuesta Responder a este mensaje
#3 MAXI
31/12/2004 - 03:26 | Informe spam
Hola, pues si te parece tedioso hay algunas herramientas que te pueden
ayudar como por ej

http://www.ericjsmith.net/codesmith/

Un abrazo




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

Msn Messenger:

"Romero Diego" escribió en el mensaje
news:%
Gracias por su aporte
esto era lo que no queria, pues me parece demasiado tedioso escribir
parametros campo por campo; pero si no
hay mas opción con los Proc.Almacenados.

Diego

"MAXI" escribió en el mensaje
news:
Hola pasale un param por campo y podrias hacer algo asi como


select campor where campo1 = isnull(@var1,campo1)

Suerte




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

Msn Messenger:

"Romero Diego" escribió en el mensaje
news:%
> Hola
> Todos
>
> Tengo un problema :
> La tabla que describo a continuación tiene muchos campos y tengo que


hacer
> un reporte donde en una lista esten los nombres de los campos y el


usuario
> seleccione los que desee filtrar, esto se hace desde VB
>
> El problema es como hago un procedimiento almacenado para paserle los
> parametros segun los campos que seleccione o necesariamente debo crear
> parametro por campo ?
>
> SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor,
> IdTipoVeh,
> IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh,
> Pasajeros,
> PasajPie, CapTanque, NumeroMotor, SerieChasis,
> Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub,
> IdEmpresa,
> IdPropietario,
> IdConductor, IdTipoPro,
> Adquisicion,IdGrupo,VehPropio,
> IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
> ValorAsegurado,ValorCupo, IdAdmon,
> NumContrato,ContratoActivo,FecIngreso,
> FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
> Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
>


,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
> CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion,
> FecTarjOper,
> VigTarjOper, CertGases, FecCertGases, VigCertGases,
> Kilometraje, KmsCompra,
> Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
> IdEstado, FechaAdd, FechaUpdate, IdUsuario
> FROM Vehiculos
> WHERE ' aqui la condición que depende de los campos que seleccione el
> usuario
>
> gracias
>
>
>
> Diego
>
>
>
>
>






Respuesta Responder a este mensaje
#4 Ricardo Passians
31/12/2004 - 12:08 | Informe spam
Y porque en vez de un procedimiento, mejor armas el select desde tu
aplicación ?
Hay casos (pocos si) donde no es practico tenerlo en un sp. Ahora bien, si
insistes en ponerlo en un SP deberas manejar en el todas las combinaciones
posibles y te convendrias hacer un script tambien desde tu sistema que te
genere el codigo del SP a un archivo, lo cortas y lo pegas en un create proc
en el query analizer o enterprise manager.

"Romero Diego" wrote in message
news:%
Hola
Todos

Tengo un problema :
La tabla que describo a continuación tiene muchos campos y tengo que hacer
un reporte donde en una lista esten los nombres de los campos y el usuario
seleccione los que desee filtrar, esto se hace desde VB

El problema es como hago un procedimiento almacenado para paserle los
parametros segun los campos que seleccione o necesariamente debo crear
parametro por campo ?

SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor,


IdTipoVeh,
IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh,


Pasajeros,
PasajPie, CapTanque, NumeroMotor, SerieChasis,
Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub,


IdEmpresa,
IdPropietario,
IdConductor, IdTipoPro,


Adquisicion,IdGrupo,VehPropio,
IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
ValorAsegurado,ValorCupo, IdAdmon,
NumContrato,ContratoActivo,FecIngreso,
FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion,


FecTarjOper,
VigTarjOper, CertGases, FecCertGases, VigCertGases,
Kilometraje, KmsCompra,
Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
IdEstado, FechaAdd, FechaUpdate, IdUsuario
FROM Vehiculos
WHERE ' aqui la condición que depende de los campos que seleccione el
usuario

gracias



Diego





Respuesta Responder a este mensaje
#5 Patrick Mac Kay
31/12/2004 - 14:01 | Informe spam
Ricardo,

por que si armas un select en tu aplicación tienes los siguintes
problemas.

1.- Sql Injection (alta probabilidad)
2.- No es compilado por el sql, y por lo tanto no puede definir la mejor
ruta de ejecución, algo que para los reportes es vital.
3.- Complicas el desarrollo por que si cambias algo en tu base de datos
debes tocar el codigo.

La forma correcta es hacer un SP y seguir lo que te mencionó Maxi de los
isnull.

saludos.

Patrick.

"Ricardo Passians" escribió en el mensaje
news:
Y porque en vez de un procedimiento, mejor armas el select desde tu
aplicación ?
Hay casos (pocos si) donde no es practico tenerlo en un sp. Ahora bien,


si
insistes en ponerlo en un SP deberas manejar en el todas las combinaciones
posibles y te convendrias hacer un script tambien desde tu sistema que te
genere el codigo del SP a un archivo, lo cortas y lo pegas en un create


proc
en el query analizer o enterprise manager.

"Romero Diego" wrote in message
news:%
> Hola
> Todos
>
> Tengo un problema :
> La tabla que describo a continuación tiene muchos campos y tengo que


hacer
> un reporte donde en una lista esten los nombres de los campos y el


usuario
> seleccione los que desee filtrar, esto se hace desde VB
>
> El problema es como hago un procedimiento almacenado para paserle los
> parametros segun los campos que seleccione o necesariamente debo crear
> parametro por campo ?
>
> SELECT IdVehiculo, Numero, IdClase, IdMarca, IdLinea, IdColor,
IdTipoVeh,
> IdTipoMot, AnnoModelo, FecRepotencia, Ejes, NumLlantas, PesoVeh,
Pasajeros,
> PasajPie, CapTanque, NumeroMotor, SerieChasis,
> Cilindrada, IdTipoCom, IdTipoLla, IdTipoLub, IdMarLla, IdMarLub,
IdEmpresa,
> IdPropietario,
> IdConductor, IdTipoPro,
Adquisicion,IdGrupo,VehPropio,
> IdProveedor, FecCompra, TarjetaProp, CostoCompra, ValorAvaludo,
> ValorAsegurado,ValorCupo, IdAdmon,
> NumContrato,ContratoActivo,FecIngreso,
> FecRetiro,FecVigencia,FecSalida, VidaUtil, FecImpuestos, DocCompleta,
> Accidentes,ObligaTProd, PolizaSoat,FecSoat,VigSoat,EmpresaSoat
>


,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
> CertMovilizacion, FecCertMovil, VigCertMovil, TarjetaOperacion,
FecTarjOper,
> VigTarjOper, CertGases, FecCertGases, VigCertGases,
> Kilometraje, KmsCompra,
> Observacion,CentInicial,CentFinal,CupoCredito,SaldoActual, ArchivoFoto,
> IdEstado, FechaAdd, FechaUpdate, IdUsuario
> FROM Vehiculos
> WHERE ' aqui la condición que depende de los campos que seleccione el
> usuario
>
> gracias
>
>
>
> Diego
>
>
>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida