Ultimamente he realizado varios formulario que cuando deben interáctuar con la base de datos que poseo en SQL server 2005 dan un error porque no consiguen "entender" la fecha que se les pasa en el comando de SQL.
Con el tiempo y mucho buscar y mirar, dejo aquí mi propio conversor de fechas aceptadas para SQL. Nota importante: solo genera fechas en formato DateTimeShort. Se sobre-entiende que se trabaja en Visual Studio y es contra una base de datos de SQL server 2005 (no sé si las ediciones siguientes ya tienen un método o algo para cambiar esto.).
La clase que muestro a continuación permite convertir un DateTime que se le pasa por parámetro y devuelve un string con el siguiente formato: mm(mes)/dd(día)/yyyy(año).
Aclaraciones previas:
-Es una clase.cs (hecha en C sharp), puede incluirse dentro de cualquier proyecto de librería para referencias y puede ser empleado por varios programas simultáneos.
RECOMENDACIÓN: modificar el nombre de la namespace a la actual donde la coloqueis.
Espero que os sirva u os de una idea para hacer una mejor. Un saludo.
.
using System;
using System.Collections.Generic;
using System.Text;
namespace Realizar_pedido.Clases
{
//Aquí es donde yo la tenía,
//pero debe cambiarse a la actual
//donde la tengais
class conversorFecha
{
public conversorFecha()
{
}
public string obtenFechaSQL(DateTime fecha)
{
string fecha_string = Convert.ToString(fecha);
string day, month, year;
day = fecha_string.Substring(0,2);
month = fecha_string.Substring(3,2);
year = fecha_string.Substring(6, 4);
fecha_string = month + "/" + day + "/" + year;
return fecha_string;
}
}
}
Con copiar y pegar el código puede verse a lo mejor más claro y saber que debe modificarse o como usarse. Cualquier duda o sugerencia será bien recibida.
martes 27 de abril de 2010
Suscribirse a:
Enviar comentarios (Atom)


0 opiniones:
Publicar un comentario en la entrada