Problemas para filtrar campos de tipo DateTime

21/06/2007 - 13:12 por Gaizka | Informe spam
Buenos días,
Estoy intentando filtrar un campo de tipo DateTime. Por lo que he leido, con
los campos de este tipo, al generar la query no se puede hacer un filtrado de
texto utilizando la etiqueta <contains></contains>:

EJEMPLO:
query="<Where><Contains><FieldRef Name='Created' /><Value
Type='Text'>2007</Value></Contains></Where>";--> NO FUNCIONA

Estoy haciendo un web part en el que se elige un campo de una lista, y en
un textbox el texto por el que quiere filtrar.Como resultado un datagrid me
muestra los registros de la lista donde los valores del campo elegido
concuerdan con lo que se ha metido en el textbox. El filtrado me funciona con
todos los tipos de campo menos con los de tipo DateTime y algun otro. Alguna
idea para poder filtrar el valor de un campo de tipo DateTime con un String
que se mete en un TextBox??

Gracias y Un saludo
Gaizka Garteiz Alonso
 

Leer las respuestas

#1 Aitor Ibernia Belamendia
22/06/2007 - 08:53 | Informe spam
Hola,

Siempre surgen problemas con las fechas (dichosos formatos). Yo para
realizar búsquedas utilizando campos de tipo Datetime he utilizado el formato
'yyyy/mm/dd' para los filtrados 'mayor que' y 'menor que'.

Para el filrado 'Igual que' no me ha valido este formato. Para filtrar por
esa fecha he tenido que realizar lo siguiente, Si queremos buscar
'22/06/2007': Mayor que '21/06/2007' y Menor que '23/06/2007', aprovecha el
método AddDays de Datetime para quitar un dia y sumar un día a la fecha.

Espero que te sirva de ayuda, yo no lo he utilizado en formato CAML de
búsquedas, pero me ha servido para realizar búsquedas en todo el portal a
través de SQLQuery.

Un Saludo,


"Gaizka" wrote:

Buenos días,
Estoy intentando filtrar un campo de tipo DateTime. Por lo que he leido, con
los campos de este tipo, al generar la query no se puede hacer un filtrado de
texto utilizando la etiqueta <contains></contains>:

EJEMPLO:
query="<Where><Contains><FieldRef Name='Created' /><Value
Type='Text'>2007</Value></Contains></Where>";--> NO FUNCIONA

Estoy haciendo un web part en el que se elige un campo de una lista, y en
un textbox el texto por el que quiere filtrar.Como resultado un datagrid me
muestra los registros de la lista donde los valores del campo elegido
concuerdan con lo que se ha metido en el textbox. El filtrado me funciona con
todos los tipos de campo menos con los de tipo DateTime y algun otro. Alguna
idea para poder filtrar el valor de un campo de tipo DateTime con un String
que se mete en un TextBox??

Gracias y Un saludo
Gaizka Garteiz Alonso

Preguntas similares