C # Соединение с Oracle DB DateTime форматирование - PullRequest
2 голосов
/ 08 октября 2009

У меня есть веб-приложение .Net, которое подключается к серверной части Oracle. У меня есть базовая страница, которую использует каждая страница, где я установил

    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'

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

Ответы [ 3 ]

3 голосов
/ 08 октября 2009

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

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

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

1 голос
/ 17 марта 2010

Где dt - переменная типа DateTime, попробуйте следующее

to_date ('"+ dt.ToString (" ММ / дд / гггг ЧЧ: мм: сс ") +"', 'ММ / дд / гггг ЧЧ: ми: сс')

1 голос
/ 08 октября 2009

Попробуйте:

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

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

...