SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: jodch en Viernes 14 de Diciembre de 2007, 22:04

Título: Consulta De Fechas
Publicado por: jodch en Viernes 14 de Diciembre de 2007, 22:04
Reciban todos un cordial saludo desde Quito-Ecuador.......... :hola:

Espero que me puedan dar una orientación :rolleyes:

Estoy haciendo un sistema en el cual tengo que recuperar a través de una consulta(es lo más acercado que estoy :ph34r: ) de una tabla que tiene:
Fecha_Inicio DateTime
Fecha_Final  DateTime
de la base de datos de Sql Server sus años....

Es decir Algo asi como un año lectivo...2007/2008 pero recordando que
a través de la aplicación y de las reglas de la base de datos se me
guarda en el formato de día/mes/año(01/02/2007) pero lo que en realidad
necesito es tan solo los años de dos columnas de igual tipo...


Estuve indagando otros foros anteriores al respecto de esta parametrización
y aprendÍ que puedo hacerlo en una consulta concatenada como por ejemplo:

"Select Fecha_Inicio + '/' + Fecha_Final as Año_Lectivo from Periodo"

me sale algo asi de:::   (2005-02-23/2006-03-13)

Por si no me he echo entender bien lo que no puedo hacer es que solo me salga
         (2005/2006)

Claro que la misma consulta lo puedo pasar para que me despliege en un listbox por ejemplo en su propiedad DsplayMembre

A todos gracias por la atencion prestada a la presente..
 :comp:
Y de antemano muchas gracias :whistling:
Título: Re: Consulta De Fechas
Publicado por: sergiotarrillo en Sábado 15 de Diciembre de 2007, 17:49
las fechas es un tema que hay que tomar cuidado. Y el principal punto es hacer que tu fecha de input se convierta un Date de .NET, cuando este Date lo insertas a la base datos (usando parametros), no importa como este en SQL.
Ahora para recuperar es más fácil, ya no hay problema. Siempre y cuando recuperes el dato de SQL, en un Date de .NET.

Osea el problema se remite a llegar al Date de .NET, y pasarlo a SQL como DateTime, y viceversa cuando quiere recuperar el dato.

Ahora para lo que quieres lo pudes afrontar de dos maneras.

Hacerlo en .Net con los dos campos: (fechaInicio.Year + " - " + fechaFin.Year), es o cuando recuperas los campos como date.

O hacerlo en SQL, pero devolverias un String, osea sería : SELECT YEAR(fechaInicio) + ' - ' + YEAR(fechaFin), tusOtrasColumas FROM tuTabla WHERE tuFiltro.

P.D.: Espero que estes usando Procedimientos almacenados. Y si no, sería bueon que los empecies a usar.

Saludos,
Título: Re: Consulta De Fechas
Publicado por: jodch en Domingo 16 de Diciembre de 2007, 00:27
mmmm.....ya ..... gracias por la respuesta
 :comp:
voy a practicar a ver como me sale...... :unsure:
y por cierto no trabajo con los procedimientos almacenados,,,

¿Porque tendría que hacerlo? :devil:

¿Son mejores,más practicos? :devil:

¿Como sería.........? :hola:
Título: Re: Consulta De Fechas
Publicado por: sergiotarrillo en Jueves 20 de Diciembre de 2007, 04:37
Algunos artículos:

Stored Procedure Advantages (http://www.informit.com/articles/article.aspx?p=25288&seqNum=3&rl=1).
Procedimientos Almacenados contra consultas (http://oscarmontesinos.blogspot.com/2005/11/procedimientos-almacenados-contra.html).

Y si le echas mano a google encontraras más cosas.

Ahora de manera práctica porque usarlos: pues conforme sigas desarrollando en algún momento los usarás, así que mejor aprenderlos de una vez, tu código se hace mas ordenado, también esta el tema de seguridad, pues en premisa.. sistema transaccional, y que tenga consultas a base de datos StoreProcedures... con el tiempo tu solo te darás cuentas de las ventajas...

Saludos,