Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 16:52   #1
Jrcfyf
Пользователь
 
Регистрация: 18.01.2012
Сообщений: 26
По умолчанию Вопрос по датам

как можно передать дату в sql-запрос не через параметр, чтобы она получилась вида 'yyyy-mm-dd'?
Jrcfyf вне форума Ответить с цитированием
Старый 11.04.2012, 17:45   #2
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

мелкий пример набросал
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string datestr = "15.09.1985";
            string formatsrc = "yyyy-MM-dd";
            string formatdst = "dd.MM.yyyy";

            DateTime result = DateTime.ParseExact(datestr, formatdst, CultureInfo.InvariantCulture);
            Console.WriteLine(result.ToString(formatsrc));
            Console.ReadLine();
        }
    }
}
думаю потом переменную result не составит труда вставить в INSERT
wm_leviathan вне форума Ответить с цитированием
Старый 11.04.2012, 19:40   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Что-то не то, с одной стороны дату, а с другой вида... вам дату КАК строку вида? тогда форматируйте.
А если все-таки дату, тогда при чем тут вид?
С другой стороны что значит "получилась", где?
Ну и от параметра отказываться зачем?
=master= вне форума Ответить с цитированием
Старый 11.04.2012, 22:43   #4
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

лично я понял что надо преобразовать "Российскую" дату в буржуйскую ибо сам сталкивался с тем что sql сервер (по крайней мере MS) поле формата datetime\smalldatetime хранит в виде yyyy-mm-dd hh:mm:ss поэтому заINSERT'ить что то типа INSERT INTO таблица (data) VALUES ('11.04.2012') не получится.
wm_leviathan вне форума Ответить с цитированием
Старый 11.04.2012, 23:28   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
как можно передать дату в sql-запрос не через параметр
параметры как раз для того и придуманы, чтобы избежать проблем, когда у клиента настроена одна локаль (один формат даты), а на сервере - другой!
С параметром (типа datetime, разумеется!!) будет работать ПРАВИЛЬНО в любом случае.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.04.2012, 13:34   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
ибо сам сталкивался с тем что sql сервер (по крайней мере MS) поле формата datetime\smalldatetime хранит в виде yyyy-mm-dd hh:mm:ss
Никогда он, ни другой, более менее нормальный, не хранил в таком виде и не собирается это делать.
=master= вне форума Ответить с цитированием
Старый 12.04.2012, 21:48   #7
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Никогда он, ни другой, более менее нормальный, не хранил в таком виде и не собирается это делать.
готов поспорить на бутылочку нормального пива (в почтовой бандероли, будет смешно,весело и приятно ) со скринами и доказательством.
простите админы и модераторы что пост не в тему

Последний раз редактировалось wm_leviathan; 12.04.2012 в 22:05.
wm_leviathan вне форума Ответить с цитированием
Старый 12.04.2012, 23:14   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
готов поспорить на бутылочку нормального пива (в почтовой бандероли, будет смешно,весело и приятно ) со скринами и доказательством.
со скринами ЧЕГО? Результатов запроса? И при смене локали (или настроек сервера) эти результаты ВЫВОДА будут другими?
Не смешите мои тапочки!
Вы понимаете, что =master= (а я с ним в этом вопросе солидарен) Вам говорит о ВНУТРЕННЕЙ структуре хранения данных. Куда ни Вы, ни я, и никто другой проникнуть НЕ МОЖЕТ.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.04.2012, 01:22   #9
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А что тут спорить? Вы то сами где видели? Прям в файле где данные находятся? и прям так там оно и лежит?
Или всетаки програмкой какойто? Типа Менеджмент студтей.. так это заслуга этой програмки, что показалавам не так как в файле а так как вам удобно.
Да и подумать, строк тышу с такими вот датами, а если таблиц таких не одна, а если баз таких не одна? не позавидую этой субд...
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести из бд по датам frommars PHP 4 04.07.2011 14:06
Суммирование по датам sakabula Microsoft Office Excel 3 15.03.2010 01:45
Вопрос по датам PARTOS Microsoft Office Excel 2 24.12.2009 11:46
Фильтрация по датам Shpon Microsoft Office Excel 2 12.10.2009 16:53
выборка по датам Screame Microsoft Office Excel 8 15.07.2009 23:22