powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / извлечь дату из бд - mvc 4
20 сообщений из 20, страница 1 из 1
извлечь дату из бд - mvc 4
    #38189517
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ситуация следующая. Реализую работу с бд. Сделал представление где выводятся данные из бд, из всего массива выведенных данных выбираю одну запись кнопккой "изменить" нажимаю "изменить" выходит др представление...где вывелась лишь одна моя выбранная запись из бд и естесвенно с заполненными полями..нажимаю на каждое поле можно изменить его содержимое, все измененные данные сохраняются нормально, но когда доходим до сохранения даты то ошибка:

Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM


Код выглядет так:


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
[SRC c#]@model MvcApplication3.Models.o_klient


@{
    ViewBag.Title = "Redaktor";
    Layout = "~/Views/Shared/_Layout.cshtml";
    string value = "";
    //string test = "ssss";
    ////string city = "";
    MvcApplication3.Models.info_klient_second data = new MvcApplication3.Models.info_klient_second();
}


<div  style="padding:10px;border:1px solid #0094ff; background-color:#d9fffb;border-radius:10px;margin-top:150px;">

@using (Html.BeginForm("Redaktor", "Pervii", new { id_redaktor = ViewBag.id }, FormMethod.Post))
{
    foreach (MvcApplication3.Models.info_klient_second data_new in ViewBag.Data)
    {
      
   <table>
 <tr><td><p>Город:</p></td><td>@Html.TextBoxFor(x => x.GOROD, new { @Value = data_new.GOROD }) @Html.ValidationMessageFor(model => model.GOROD)</td></tr>
 <tr><td><p>ФИО:</p></td><td>@Html.TextBoxFor(x => x.FIO, new { @Value = data_new.FIO }) @Html.ValidationMessageFor(model => model.FIO)</td></tr>
 <tr><td><p>Сорт:</p></td><td>@Html.TextBoxFor(x => x.sort1, new { @Value = data_new.sort1 }) @Html.ValidationMessageFor(model => model.sort1)</td></tr>
 <tr><td><p>Наименование:</p></td><td>@Html.TextBoxFor(x => x.naimenovanie1, new { @Value = data_new.naimenovanie1 }) @Html.ValidationMessageFor(model => model.naimenovanie1)</td></tr>
 <tr><td><p>Дата покупки:</p></td><td>@Html.TextBoxFor(x => x.DATA_POKUPKI, new { @Value = data_new.DATA_POKUPKI }) @Html.ValidationMessageFor(model => model.DATA_POKUPKI)</td></tr>
 <tr><td><p>Цена:</p></td><td>@Html.TextBoxFor(x => x.CENA, new { @Value = data_new.CENA }) @Html.ValidationMessageFor(model => model.CENA)</td></tr>
  </table> 
 <input type="hidden" name="change" value="change" />@* 
  <input type="hidden" name="id_redaktor" value ="" />*@   
 <input type="submit" class="button" value="Сохранить" />
    }
}
    </div>

[/SRC]


в контроллере следующее:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
public ActionResult Redaktor(o_klient model, string id_redaktor, string change, int? page)//редактирование записей в бд
        {
            string day;
            string month;
            string year;
            string data_result;

            day = model.DATA_POKUPKI.ToString().Substring(0, 2).Replace(".","");
            month = model.DATA_POKUPKI.ToString().Substring(2, 3).Replace(".", "");
            year = model.DATA_POKUPKI.ToString().Substring(5, 6).Replace(" ", "").Replace(".", "");
            data_result = day + month + year;
            ViewBag.id = id_redaktor;//для сохранения ид_редактор для др представления т.к. он обычно обнуляется при переходе в др представление
            if (change == "change")
            {
            var query = // выбираем таблицу клиент_нью  где ид = переданному ид(с представления в качестве параметра)
                    from a in db.klient_new
                    where a.id == Convert.ToInt32(id_redaktor)
                    select a;

                    foreach (var a in query)//
                    {
                        a.fio=model.FIO;
                        a.gorod = model.GOROD;
                        a.tovar.naimenovanie = model.naimenovanie1;
                        a.tovar.sort = model.sort1;
                        a.tovar.cena.cena1 = model.CENA;
                        a.tovar.cena.Data_pokupki = Convert.ToDateTime(year+"-"+month+"-"+day);
                    }
                    try
                    {
                       
                    }
                    catch (Exception ex) {};
                    
                    db.SubmitChanges();
                    db = new DataClasses1DataContext();
                    List<o_klient> item = new List<o_klient>();
                    int pageNumber = page ?? 1;
                    int pageSize = 10;
                    execute();
                    ViewBag.data = spisok;
                    ViewBag.value = "1";
                    return View("Index", spisok.ToPagedList(pageNumber, pageSize));                  
                }
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189556
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрюхин,

a.tovar.cena.Data_pokupki = year+month+day;
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189578
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

год меся число др типа же строкового!
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189608
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем?
Код: c#
1.
2.
3.
day = model.DATA_POKUPKI.ToString().Substring(0, 2).Replace(".","");
            month = model.DATA_POKUPKI.ToString().Substring(2, 3).Replace(".", "");
            year = model.DATA_POKUPKI.ToString().Substring(5, 6).Replace(" ", "").Replace(".", "");


model.DATA_POKUPKI как я понимаю это DateTime тогда , что мешает сделать
a.tovar.cena.Data_pokupki = model.DATA_POKUPKI .
Да и вообще посмотреть что в у тебя там в дебаге в том поле ?
Вытаскиваешь 1 запись и нафига её в foreach ?

п.с. проблемы с кодом явные, надеюсь ты студент, а не продакшен код пишешь
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189618
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

а как ты данные можешь извлечь из вьюбега? без цикла!
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189645
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дата извлекается в таком виде: 10/23/2013 00:00:00 я же потом нажимаю кнопку сохранить и прога пишет что Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189649
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
у меня там 01.01.0001
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189659
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АндрюхинhandmadeFromRu,

а как ты данные можешь извлечь из вьюбега? без цикла!

очень просто
Код: c#
1.
var dd = (from a in db.klient_new  where a.id == Convert.ToInt32(id_redaktor) select a).SingleOrDefault();


или материлизация не знакомая штука?
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189662
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АндрюхинhandmadeFromRu,
у меня там 01.01.0001
эм как бы вот тебе и проблема )
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189669
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

вот как избавиться от 01.01.0001 я не знаю
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189687
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поле твоей модели во вьюшки не заполняется и возвращается минимальная значение DateTime или в процессе преобразования того что положил в хтмл в поле отвечающее за дату не получилось преобразовать в дату и соответственно выставилось по умолчанию значение( смотри формат даты)
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189693
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в базе дата нормального вида а когда оттуда извлекается в textboxfor то такого вида 10/23/2013 00:00:00 ....и даллее в таком виде
10/23/2013 00:00:00 ее уже не сохранить..и пользователю приходиться менять дату на 2013-10-23
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189864
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело не в том как бд хранится, а то что модель не смогла собрать это поле из формы правильно, скорее всего связано с локализацией. смотрите инфу про биндинг полей типа DateTime
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189925
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.. а в этом моделисте-конструкторе нельзя посмотреть результирующий запрос (т.е. UPDATE), который идет к SQL-серверу? .. какой сервер, кстати ..?
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189939
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
и какой профит от твоего совета?
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38189980
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

...если в запросе что-то типа UPDATE a SET [data_pokupki]='18/03/2013' WHERE [id]=2 - то может в консерватории надо что-то поменять?
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38190007
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жесть. Не код, а полное уг, от хоторого смердит за версту. Просто страшно жить.
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38190025
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikhandmadeFromRu,

...если в запросе что-то типа UPDATE a SET [data_pokupki]='18/03/2013' WHERE [id]=2 - то может в консерватории надо что-то поменять?
о госпади...даже отвечать не буду.

п.с. проблема не в запросе, если ты не понял еще. А в том что товарищ не может вернуть дату из вьюхи по модели и она у него всегда DateTime.Min.
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38190124
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЖесть. Не код, а полное уг, от хоторого смердит за версту. Просто страшно жить.
+1
Почитайте МСДН что-ли, ёксель-моксель.
...
Рейтинг: 0 / 0
извлечь дату из бд - mvc 4
    #38190227
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если пользователь может не указать дату в представлении изменения записи, то надо сверять на уровне доступа к данным с DateTime.MinValue, и если равно, то писать в БД DBNull.Value.

Если пользователь обязан указать дату, то не понятно какого х она до уровня доступа к данным не доходит.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / извлечь дату из бд - mvc 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]