realizo una busqueda de intervalo de fecha en la consola de Firebird ejemplo:
[firebird]SELECT * FROM INCIDEN WHERE (INCIDEN.FECHOR_INCI <= '2011-06-17' AND INCIDEN.FECHOR_INCI >= '2011-06-15')[/firebird]
el codigo en monitor de SQL de FIREBIRD funciona muy bien
ahora transcribir en c# sharp como?
bueno en San Google
gracias a esta pagina
http://www.kriptus.c...a-formato-ansi/
encontré la forma y lo pase a C#, pero no furula.
lo que me paso fue que al pasar al select lo pasaba en formato "date" del "dateTimePicker1", claro esta que windows en su formato cultural español no coincide.
lo que debe ser es pasarlo en formato texto. "yyy/MM/dd"
aunque me faltaba algo como hacerlo para meter
dos variables externas al SELECT y que no pertenecen a la tabla para establecer el intervalo de fecha inicio y fecha final de busqueda. y la luz se dio.
[csharp]string fecha_ini= string)dateTimePicker1.Value.ToString("yyyy/MM/dd");
string fecha_fin=(string)dateTimePicker2.Value.ToString("yyyy/MM/dd");
FbParameter f1 =new FbParameter();
FbParameter f2 =new FbParameter();
string db3 = conectarbase();
FbConnection conexiongpos= new FbConnection(db3);
try{
DataSet ds = new DataSet();
FbCommand SqlAlu= new FbCommand("select INCIDEN.ID_INCIDEN, INCIDEN.ID_MATRIX, INCIDEN.ID_GPOPER, INCIDEN.DETALLE_INCI FROM INCIDEN WHERE (INCIDEN.FECHOR_INCI BETWEEN @f1 AND @f2) ORDER BY INCIDEN.ID_GPOPER",conexiongpos);
f1 = SqlAlu.Parameters.Add("@F1", SqlDbType.VarChar);
f2 = SqlAlu.Parameters.Add("@F2", SqlDbType.VarChar);
f1.Value =fecha_ini;
f2.Value =fecha_fin;
conexiongpos.Open();
FbDataReader leeralums = SqlAlum.ExecuteReader(CommandBehavior.SequentialAccess);[/csharp]
Formato Fecha en Firebird; incluyendo dos variables externas C#
Started by
ematrix
, Jul 07 2011 05:50 PM
3 replies to this topic
#1
Posted 07 July 2011 - 05:50 PM
#2
Posted 08 July 2011 - 02:08 AM
Hola.
Si declaras los parámetros @F1 y @F2 como de tipo DateTime/Timestamp/... ..., en lugar de tipo cadena, entonces no vas a tener que darles ningún formato.
Saludos.
Si declaras los parámetros @F1 y @F2 como de tipo DateTime/Timestamp/... ..., en lugar de tipo cadena, entonces no vas a tener que darles ningún formato.
Saludos.
#3
Posted 08 July 2011 - 03:50 AM
Si quieres pasarlas como cadena por alguna razón, has de usar el formato '01.12.2011' para que lo entienda en formato "europeo" (dd.mm.yyyy).
#4
Posted 08 July 2011 - 05:32 AM
En si realice la prueba en formato Fecha, como comentas Marc.
solo que windows tiene por default en español la fecha dd-MM-yyyy, y en servidor linux que tengo instalado el Firebird esta en formato yyyy-MM-dd, es por eso que batalle un poco en C#, y
revisando la variable f1 y f2 en memoria lo toma por default del sistema operativo windows. y la clave es pasarlo en texto convertirlo y después hacer la operación.
Gracias por sus comentarios
Sergio y Marc
Saludos.
solo que windows tiene por default en español la fecha dd-MM-yyyy, y en servidor linux que tengo instalado el Firebird esta en formato yyyy-MM-dd, es por eso que batalle un poco en C#, y
revisando la variable f1 y f2 en memoria lo toma por default del sistema operativo windows. y la clave es pasarlo en texto convertirlo y después hacer la operación.
Gracias por sus comentarios
Sergio y Marc
Saludos.