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

#31 Romero Diego
05/01/2005 - 00:42 | Informe spam
Max:
No quiero que el usuario arme el query totalmente, la parte del SELECT y
FROM ya están armadas en un SP
y no se modificarán; lo que quiero es armar dinamicamente la parte de las
condiciones o WHERE. ¿Como lo hago ?

Gracias

Diego

"Maxi" escribió en el mensaje
news:
Diego, te comento:

Yo en mis sistemas uso consultas dinamicas mucho, ya que le doy la
posibilidad al usuario de elegir que datos quiere buscar, y esto lo tengo
implementado con Sp's sin ningun problema.

Si usas Isnull() o algun otro truco como el like con el CASE, podrias
emular esto sin problemas.

Ahora si lo que buscas es que el usuario pueda armar una query el tema ya
cambia considerablemente.

Si es este el punto no tendras que darle acceso directo a las tablas, pero
por logica en un sistema de este tipo, no todos pueden hacer querys, sino


un
grupo reducido de personas. Otras cosas que he visto por ahi y que me han
parecido muy piolas es lo siguiente:

En estos casos el usuario arma todo el query, pero realmente a la BDD se
transforma en un Sp's y luego es llamado ya que queda guardado el query
digamos. Esto lo he visto en varios sistemas y no me parecio una idea


loca,
al consultar a los ingenieros de desarrollo me dieron la explicacion que


me
temia:

Si una persona arma querys y la guarda, la mejor forma es que quede en un
Sp's que hasta lo podrian reutilizar otros, de esta forma usamos el patron
de aislamiento, mejoramos la performance y la seguridad no se pone en
riesgo.

Es solo cuestion de pensarlo, pero es cierto que si buscas armar Querys
dinamicos (y no me refiero a que se pueda consultar por cualquier campo de
la tabla, sino que hasta pueda unir tablas y otro tipo de cosas)

Un abrazo


Salu2
Maxi


"Romero Diego" escribió en el mensaje
news:
> Despues de leer todos los comentarios y sugerencias al respecto;
> creo que para el caso donde las condiciones WHERE del SELECT son
> dinamicas,
> es decir el usuario
> es quien sabe cuantos condiciones va a pasar para obtener los


resultados,
> es
> muy dificil crear un SP.Sería posible
> si se pudiera pasar como parametro la String con la condición WHERE
> completa
> y agregarla al SP algo como:
>
> CREATE PROCEDURE pa_Ejemplo @sCondicion VARCHAR(8000)
> SELECT campo1,campo2,campo3,campoN,,,, FROM tabla
> WHERE @sCondicion
>
> Creo que esto no se puede.
>
> Diego
>
>
> "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
#32 MAXI
05/01/2005 - 01:04 | Informe spam
Diego, a ver: las consultas son o no son dinamicas, o sea, si el where es
dinamico la consulta es dinamica ;)

Ahora este tipo de cosas son las que debes tener cuidado de como armar.

Veamos

Si usas esto:


select campos from tabla where campo1=isnull(@var1,campo1) and
campo2=isnull(@var2,campo2) and ..

esto hara que no importa la cantidad de param que tengas que hara la
busqueda

Entonces podrias tener un Sp's para los AND y otro SP's para los OR.

Con esto solucionas casi el 99% de los casos.

Ahora , si queres que ademas el usuario tenga la posibilidad de armar querys
donde hasta pueda unir mas de una tabla, te recomiendo que armes desde la
aplicacion un modulo que de forma visual el usuario pueda armar estas cosas
y que el modulo lo transforme en un Sp's con sus respectivos parametros.
Luego esa query la podra reutilizar este mismo usuario o cualquier otro que
le den acceso.

ESto es lo que buscas?



Maxi

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

"Romero Diego" escribió en el mensaje
news:u%
Max:
No quiero que el usuario arme el query totalmente, la parte del SELECT y
FROM ya están armadas en un SP
y no se modificarán; lo que quiero es armar dinamicamente la parte de las
condiciones o WHERE. ¿Como lo hago ?

Gracias

Diego

"Maxi" escribió en el mensaje
news:
Diego, te comento:

Yo en mis sistemas uso consultas dinamicas mucho, ya que le doy la
posibilidad al usuario de elegir que datos quiere buscar, y esto lo tengo
implementado con Sp's sin ningun problema.

Si usas Isnull() o algun otro truco como el like con el CASE, podrias
emular esto sin problemas.

Ahora si lo que buscas es que el usuario pueda armar una query el tema ya
cambia considerablemente.

Si es este el punto no tendras que darle acceso directo a las tablas,
pero
por logica en un sistema de este tipo, no todos pueden hacer querys, sino


un
grupo reducido de personas. Otras cosas que he visto por ahi y que me han
parecido muy piolas es lo siguiente:

En estos casos el usuario arma todo el query, pero realmente a la BDD se
transforma en un Sp's y luego es llamado ya que queda guardado el query
digamos. Esto lo he visto en varios sistemas y no me parecio una idea


loca,
al consultar a los ingenieros de desarrollo me dieron la explicacion que


me
temia:

Si una persona arma querys y la guarda, la mejor forma es que quede en un
Sp's que hasta lo podrian reutilizar otros, de esta forma usamos el
patron
de aislamiento, mejoramos la performance y la seguridad no se pone en
riesgo.

Es solo cuestion de pensarlo, pero es cierto que si buscas armar Querys
dinamicos (y no me refiero a que se pueda consultar por cualquier campo
de
la tabla, sino que hasta pueda unir tablas y otro tipo de cosas)

Un abrazo


Salu2
Maxi


"Romero Diego" escribió en el mensaje
news:
> Despues de leer todos los comentarios y sugerencias al respecto;
> creo que para el caso donde las condiciones WHERE del SELECT son
> dinamicas,
> es decir el usuario
> es quien sabe cuantos condiciones va a pasar para obtener los


resultados,
> es
> muy dificil crear un SP.Sería posible
> si se pudiera pasar como parametro la String con la condición WHERE
> completa
> y agregarla al SP algo como:
>
> CREATE PROCEDURE pa_Ejemplo @sCondicion VARCHAR(8000)
> SELECT campo1,campo2,campo3,campoN,,,, FROM tabla
> WHERE @sCondicion
>
> Creo que esto no se puede.
>
> Diego
>
>
> "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
#33 Danilsa
05/01/2005 - 01:37 | Informe spam
donde hasta pueda unir mas de una tabla, te recomiendo que armes desde la
aplicacion un modulo que de forma visual el usuario pueda armar estas


cosas
y que el modulo lo transforme en un Sp's con sus respectivos parametros.
Luego esa query la podra reutilizar este mismo usuario o cualquier otro


que
le den acceso.



Crear el SP desde la aplicacion enviandolo como una cadena de texto al
servidor (con su CREATE PROCEDURE y todo) ?

Si es eso lo que entendí, no hay tambien aqui el riesgo de que le inyecten
codigo en la aplicacion cliente como defendian en otros posts ? decian que
el codigo dinamico tanto lo pueden inyectar en el servidor como en la
aplicacion no ?

A veces los mensajes aqui se ven contradictorios. Y una lo que termina es
mas confundida de lo que empezó.


Danilsa Jimenez
Respuesta Responder a este mensaje
#34 MAXI
05/01/2005 - 01:53 | Informe spam
Hola, creo que no me has entendido y por eso te confundis.

Si vos ya de movida pensas que un usuario puede escribir querys ya le estas
dando muchos permisos a esta persona sea como sea.

La ventaja de armar el sp's es que luego eso es reutilizable.

Ahora, si un usuario puede armar querys de toda una bdd es casi un
administrador de la misma con lo cual no hay problema.

La injeccion de codigo se puede dar desde la aplicacion o no, pero aca estas
confundiendo los temas y te explico porque:

Vos estas pensando que enviar Select armados desde la aplicacion es algo
bueno, esto ya sabemos que es inseguro verdad? entonces no lo hagamos
inseguro para todo el mundo, dejemos que un grupo reducido de personas
puedan hacer este tipo de tareas y que esten controladas. Esto va mas alla
de lo que es un sistema, va desde el punto donde los datos son criticos y
como profesional en sistemas que sos deberias asegurar por sobre todas las
cosas la seguridad de los datos, porque no creo que al director de una
empresa le guste mucho que un usuario por hacer querys pueda sacar el
listado de precios, los salarios del personal, etc, etc!! Si este concepto
no lo consideras entonces no tiene mas sentido hablar de todo lo que
hablamos antes, y como te repeti en post anteriores (y no es en merito de
ofender) me da la sensacion por lo que escribes que siempre has desarrollado
aplicaciones de un nivel X, donde quizas las exigencias o los controles de
calidad no son los que muchas empresas medianas/grandes poseen, con lo cual
poderte hacer entender todas estas cosas es un poco dificil lamentablemente,
pero el dia que te toque desarrollar aplicaciones donde el control de
calidad sea algo serio o donde las exigencias sean otras, te vas a acordar
de muchas de las cosas que decimos en este foro, generalmente los que
estamos aca estamos acostumbrados a trabajar en aplicaciones de nivel
critico con lo cual nuestros consejos son apuntados a esto, se supone que
una empresa si instala un motor de bdd como sqlserver es porque necesita
trabajar de forma corporativa (a menos que uses MSDE) con lo cual los
ambientes corporativos se manejan de una forma muy distinta a la que muchos
desarrolladores independientes estan acostumbrados, es mas, a mi como
gerente de IT me cuesta mucho conseguir desarrolladores independientes con
cierto nivel de calidad y concepto, con lo cual tuvimos que tomar la
desicion de que los desarrollos los haga una empresa que posea ciertas
cosas.

Bue ya me pase del mensaje, solo queria cerrar el tema, porque parece como
que me estas peliando ;) y estas un poco confundida, aca yo intento
ascesorar y exponer mi experiencia lo maximo que pueda, luego queda en
ustedes si la toman o la dejan, nadie esta obligado a tomar todo lo que se
dice en este foro no?

Un abrazo



Maxi

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

"Danilsa" escribió en el mensaje
news:
donde hasta pueda unir mas de una tabla, te recomiendo que armes desde la
aplicacion un modulo que de forma visual el usuario pueda armar estas


cosas
y que el modulo lo transforme en un Sp's con sus respectivos parametros.
Luego esa query la podra reutilizar este mismo usuario o cualquier otro


que
le den acceso.



Crear el SP desde la aplicacion enviandolo como una cadena de texto al
servidor (con su CREATE PROCEDURE y todo) ?

Si es eso lo que entendí, no hay tambien aqui el riesgo de que le
inyecten
codigo en la aplicacion cliente como defendian en otros posts ? decian que
el codigo dinamico tanto lo pueden inyectar en el servidor como en la
aplicacion no ?

A veces los mensajes aqui se ven contradictorios. Y una lo que termina es
mas confundida de lo que empezó.


Danilsa Jimenez



Respuesta Responder a este mensaje
#35 Romero Diego
05/01/2005 - 14:26 | Informe spam
Bueno lo de Isnull() ya lo habia contemplado, pero el problema es que el
usuario no siempre utilizará el operador = (igual) , tambien puede
seleccionar por ejemplo NombreCampo LIKE 'expresión' o NombreCampo BETWEEN
, IN o todos las combinaciones posibles y operadores permitidos en SQL,
y ahi ¿Como hago ?

Diego

"MAXI" escribió en el mensaje
news:
Diego, a ver: las consultas son o no son dinamicas, o sea, si el where es
dinamico la consulta es dinamica ;)

Ahora este tipo de cosas son las que debes tener cuidado de como armar.

Veamos

Si usas esto:


select campos from tabla where campo1=isnull(@var1,campo1) and
campo2=isnull(@var2,campo2) and ..

esto hara que no importa la cantidad de param que tengas que hara la
busqueda

Entonces podrias tener un Sp's para los AND y otro SP's para los OR.

Con esto solucionas casi el 99% de los casos.

Ahora , si queres que ademas el usuario tenga la posibilidad de armar


querys
donde hasta pueda unir mas de una tabla, te recomiendo que armes desde la
aplicacion un modulo que de forma visual el usuario pueda armar estas


cosas
y que el modulo lo transforme en un Sp's con sus respectivos parametros.
Luego esa query la podra reutilizar este mismo usuario o cualquier otro


que
le den acceso.

ESto es lo que buscas?



Maxi

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

"Romero Diego" escribió en el mensaje
news:u%
> Max:
> No quiero que el usuario arme el query totalmente, la parte del SELECT y
> FROM ya están armadas en un SP
> y no se modificarán; lo que quiero es armar dinamicamente la parte de


las
> condiciones o WHERE. ¿Como lo hago ?
>
> Gracias
>
> Diego
>
> "Maxi" escribió en el mensaje
> news:
>> Diego, te comento:
>>
>> Yo en mis sistemas uso consultas dinamicas mucho, ya que le doy la
>> posibilidad al usuario de elegir que datos quiere buscar, y esto lo


tengo
>> implementado con Sp's sin ningun problema.
>>
>> Si usas Isnull() o algun otro truco como el like con el CASE, podrias
>> emular esto sin problemas.
>>
>> Ahora si lo que buscas es que el usuario pueda armar una query el tema


ya
>> cambia considerablemente.
>>
>> Si es este el punto no tendras que darle acceso directo a las tablas,
>> pero
>> por logica en un sistema de este tipo, no todos pueden hacer querys,


sino
> un
>> grupo reducido de personas. Otras cosas que he visto por ahi y que me


han
>> parecido muy piolas es lo siguiente:
>>
>> En estos casos el usuario arma todo el query, pero realmente a la BDD


se
>> transforma en un Sp's y luego es llamado ya que queda guardado el query
>> digamos. Esto lo he visto en varios sistemas y no me parecio una idea
> loca,
>> al consultar a los ingenieros de desarrollo me dieron la explicacion


que
> me
>> temia:
>>
>> Si una persona arma querys y la guarda, la mejor forma es que quede en


un
>> Sp's que hasta lo podrian reutilizar otros, de esta forma usamos el
>> patron
>> de aislamiento, mejoramos la performance y la seguridad no se pone en
>> riesgo.
>>
>> Es solo cuestion de pensarlo, pero es cierto que si buscas armar Querys
>> dinamicos (y no me refiero a que se pueda consultar por cualquier campo
>> de
>> la tabla, sino que hasta pueda unir tablas y otro tipo de cosas)
>>
>> Un abrazo
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Romero Diego" escribió en el mensaje
>> news:
>> > Despues de leer todos los comentarios y sugerencias al respecto;
>> > creo que para el caso donde las condiciones WHERE del SELECT son
>> > dinamicas,
>> > es decir el usuario
>> > es quien sabe cuantos condiciones va a pasar para obtener los
> resultados,
>> > es
>> > muy dificil crear un SP.Sería posible
>> > si se pudiera pasar como parametro la String con la condición WHERE
>> > completa
>> > y agregarla al SP algo como:
>> >
>> > CREATE PROCEDURE pa_Ejemplo @sCondicion VARCHAR(8000)
>> > SELECT campo1,campo2,campo3,campoN,,,, FROM tabla
>> > WHERE @sCondicion
>> >
>> > Creo que esto no se puede.
>> >
>> > Diego
>> >
>> >
>> > "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 AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida