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:%
Mostrar la cita
#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:
Mostrar la cita
hacer
Mostrar la cita
usuario
Mostrar la cita
,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
Mostrar la cita
#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:%
Mostrar la cita
#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:%
Mostrar la cita
IdTipoVeh,
Mostrar la cita
Pasajeros,
Mostrar la cita
IdEmpresa,
Mostrar la cita
Adquisicion,IdGrupo,VehPropio,
Mostrar la cita
FecTarjOper,
Mostrar la cita
#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:
Mostrar la cita
si
Mostrar la cita
proc
Mostrar la cita
hacer
Mostrar la cita
usuario
Mostrar la cita
,GarantiaAcc,PolizaResCivil,FecResCivil,VigResCivil,
Mostrar la cita
Ads by Google
Search Busqueda sugerida