2009-10-07 3 views
2

У меня есть .Net webapp, который подключается к серверу Oracle. У меня есть базовая страница, на которой каждая страница использует, где я могу установитьC# Подключение к Oracle DB Форматирование DateTime

protected override void OnPreInit(EventArgs e) 
{ 
    System.Globalization.CultureInfo cultureInfo = 
     new System.Globalization.CultureInfo("en-CA"); 

    // Creating the DateTime Information specific to our application. 
    System.Globalization.DateTimeFormatInfo dateTimeInfo = 
     new System.Globalization.DateTimeFormatInfo(); 

    // Defining various date and time formats. 
    dateTimeInfo.DateSeparator = "/"; 
    dateTimeInfo.LongDatePattern = "dd-MMM-yyyy"; 
    dateTimeInfo.ShortDatePattern = "dd-MMM-yyyy"; 
    dateTimeInfo.MonthDayPattern = "dd/MM"; 
    dateTimeInfo.LongTimePattern = "HH:mm"; 
    dateTimeInfo.ShortTimePattern = "HH:mm"; 
    dateTimeInfo.FullDateTimePattern = "dd-MMM-yyyy"; 

    // Setting application wide date time format. 
    cultureInfo.DateTimeFormat = dateTimeInfo; 

    // Assigning our custom Culture to the application. 
    //Application.CurrentCulture = cultureInfo; 
    Thread.CurrentThread.CurrentCulture = cultureInfo; 
    Thread.CurrentThread.CurrentUICulture = cultureInfo; 
    base.OnPreInit(e); 
} 

В моем приложении я использую OracleDataAdapter для выполнения простых текстовых запросов в базе данных. Я фильтрование даты, как так

"MyDateColumn" = '01-Jan-2000' 

Это прекрасно работает на моем местном. Однако, когда я добираюсь до сервера, только даты, которые работают в моем фильтре, находятся в формате

"MyDateColumn" = '2000 Jan 01' 

Что мне не хватает?

+0

Спасибо, ребята! Прекрасно работает. –

ответ

3

вы должны всегда явно сравнивать DATE столбцы значений DATE, я-е:

"MyDateColumn" = to_date('01-Jan-2000', 'dd-Mon-yyyy') 

Никогда не полагайтесь на неявное преобразование даты.

1

Try:

"MyDateColumn" = to_date('01-Jan-2000','DD-MON-YYYY')

вместо того, чтобы полагаться на неявное преобразование из строки в актуальном состоянии.

1

где дт является переменной типа DateTime, попробовать следующий

TO_DATE (' "+ dt.ToString ("ММ/дд/гггг HH:" +)" сс: мм',/дд «ММ/yyyy HH: mi: ss ')

Смежные вопросы