Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/55: Рейтинг темы: голосов - 55, средняя оценка - 4.85
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228

Как добавить дату из dateTimePicker в dataset

17.04.2013, 09:05. Показов 11516. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.Нужна помощь срочно... у меня такая проблема, есть несколько textbox-сов и несколько dateTimePicker. Данные из textbox заносятся в dataset, а как добавить дату из dateTimePicker в dataset? Вот код добавления данных из textbox
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
            
private void сохранитьToolStripButton1_Click(object sender, EventArgs e)
        {
            String F, N, O, S, Z, X, Y, V, A, D;           
            F = textBox2.Text;
            N = textBox3.Text;
            O = textBox4.Text;
            S = textBox1.Text;
            Z = textBox11.Text;
            X = textBox13.Text;
            Y = textBox5.Text;
            V = textBox17.Text;
            A = textBox10.Text;
            D = textBox8.Text;
           
            if (prowSuchS(F, N, O, S, Z, X, Y, V, A, D,  voenkomattDataSet1.Гражданин) == true)
            {
                MessageBox.Show("Пользователь '" + F + "' уже имеется в базе.", "Уведомление.", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                try
                {
                    DataRow nRow;
                    nRow = voenkomattDataSet1.Гражданин.NewRow();
                    nRow["Фамилия"] = F;
                    nRow["Имя"] = N;
                    nRow["Отчество"] = O;
                    nRow["Номер_билета"] = S;
                    nRow["Кем_выдан"] = Z;
                    nRow["Удостоверение"] = X;
                    nRow["Национальность"] = Y;
                    nRow["Вид_спорта"] = V;
                    nRow["Паспорт"] = A;
                    nRow["Телефон"] = D;
                    
                    voenkomattDataSet1.Гражданин.Rows.Add(nRow);
                    гражданинTableAdapter.Update(voenkomattDataSet1.Гражданин);
                    MessageBox.Show("Пользователь '" + F + "' добавлен.", "Уведомление.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception e2)
                {
                    MessageBox.Show(e2.ToString());
                }
            }
            
        }
        private bool prowSuchS(String F, String N, String O, String S, String Z, String X, String Y, String V, String A, String D,  DataTable orders)
        {
            var query =
                from order in orders.AsEnumerable()
                where order.Field<string>("Фамилия") == F & order.Field<string>("Имя") == N & order.Field<string>("Отчество") == O & order.Field<string>("Номер_билета") == S & order.Field<string>("Кем_выдан") == Z & order.Field<string>("Удостоверение") == X & order.Field<string>("Национальность") == Y & order.Field<string>("Вид_спорта") == V & order.Field<string>("Паспорт") == A & order.Field<string>("Телефон") == D             
                select new
                {
                    ID = order.Field<string>("Фамилия")
                };
            if (query.Count() == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2013, 09:05
Ответы с готовыми решениями:

Как добавить дату и время в таблицу из DateTimePicker?
Как добавить дату и время в таблицу из DateTimePicker? Пробую через этот код добавить - выдаёт ошибку. Видел где-то, что надо что-то...

Как добавить в базу дату через DateTimePicker?
Добрый день. Я пишу диплом и тут у меня возникли проблемы, а именно Как добавлять данные в базу я знаю через db компоненты, но как...

DateTimePicker: как извлечь из БД самую меньшую дату в 1-ый и самую большую дату во 2-ой компонент?
Хотелось немного автоматизировать и улучшить функцию программы. Имеется БД в MS Access в связке с ADOTable и DataSource + ADOConnection. ...

20
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 09:41
Судя по коду вы и не пытаетесь добавлять дату.
1) у вас в базе дата в каком формате ?
2) В чем сложность объявить переменную типа DateTime, занести в нее значение DateTimePicker'a и потом отправить в DataSet (при необходимости конвертнуть в string если надо) ?
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 09:46  [ТС]
Цитата Сообщение от wm_leviathan Посмотреть сообщение
Судя по коду вы и не пытаетесь добавлять дату.
1) у вас в базе дата в каком формате ?
2) В чем сложность объявить переменную типа DateTime, занести в нее значение DateTimePicker'a и потом отправить в DataSet (при необходимости конвертнуть в string если надо) ?
в базе данных столбец даты имеет тип date, делаю далее так
C#
1
2
DateTime U;
            U = dateTimePicker2.Date.ToString();
на Date выводит ошибку.
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 10:04
а если через string ?
C#
1
2
string U;
            U = dateTimePicker2.Text;
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 10:30  [ТС]
Цитата Сообщение от wm_leviathan Посмотреть сообщение
а если через string ?
C#
1
2
string U;
            U = dateTimePicker2.Text;
Спасибо! работает!)
теперь другой вопрос, есть две таблицы, гражданин(Фамилия, имя, отчество, pologenie_id,и т.д.) и семейное положение(id_pologenie, положение). связаны по id. На форме есть combobox(выбор положения из таблицы семейное положение). как теперь сделать чтоб при выборе положения в combobox в таблицу гражданин вставлялся не id положения, а само положение?
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 10:49
Имеется ввиду как связать 2 comboBox'a ? т.е. в одном выбираешь гражданина во втором комбобоксе его семейное положение отображается ? или картинку покажите какую нибудь а то я что то не допонял вопроса
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 10:59  [ТС]
при нажатии на combobox можно было выбрать семейное положения из другой таблицы, связанной по id
Миниатюры
Как добавить дату из dateTimePicker в dataset  
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 11:01  [ТС]
кстати, на счёт dateTimePicker, не работает. ошибка в преобразовании типов данных.
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 11:08
Цитата Сообщение от blacl_cloak Посмотреть сообщение
кстати, на счёт dateTimePicker, не работает. ошибка в преобразовании типов данных.
скорее всего при U=DateTimePicker2.Text в "U" попадает текст с пикера в виде "17 апреля 2013" а в базе он в виде "dd.mm.yyyy" меняйте в пикере формат на "dd.mm.yyyy"
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 11:26  [ТС]
Цитата Сообщение от wm_leviathan Посмотреть сообщение
скорее всего при U=DateTimePicker2.Text в "U" попадает текст с пикера в виде "17 апреля 2013" а в базе он в виде "dd.mm.yyyy" меняйте в пикере формат на "dd.mm.yyyy"
Вот такая ошибка.
Не удалось привести тип объекта "System.DateTime" к типу "System.String".
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 11:26
Цитата Сообщение от blacl_cloak Посмотреть сообщение
при нажатии на combobox можно было выбрать семейное положения из другой таблицы, связанной по id
Ну запросом в базу можно выдернуть положения. что то типа
SQL
1
2
3
SELECT таблица_положений.положение FROM таблица_положений 
INNER JOIN таблица_ФИО ON таблица_ФИО.pologenie_id = таблица_положений.pologenie_id
AND фамилия = "чего то" AND имя = "чего то" AND отчество = "чего то"
0
55 / 55 / 5
Регистрация: 17.09.2012
Сообщений: 128
17.04.2013, 13:51
Цитата Сообщение от blacl_cloak Посмотреть сообщение
в базе данных столбец даты имеет тип date, делаю далее так
C#
1
2
DateTime U;
            U = dateTimePicker2.Date.ToString();
на Date выводит ошибку.
В этом коде Вы пытаетесь присвоить значение типа String переменной типа DateTime.
Как вариант можно сделать так:

C#
1
2
DateTime U
U = DateTimePicker1.Value
Добавлено через 7 минут
Цитата Сообщение от blacl_cloak Посмотреть сообщение
как теперь сделать чтоб при выборе положения в combobox в таблицу гражданин вставлялся не id положения, а само положение?
Определите свойство ComboBox.DisplayMember, если конечно данный ComboBox имеет определённый DataSource.

Не по теме:

PS: если мне не изменяет мой склероз, на форуме действует правило - одна тема - один вопрос.

1
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.04.2013, 19:53  [ТС]
Цитата Сообщение от madgun Посмотреть сообщение
Определите свойство ComboBox.DisplayMember, если конечно данный ComboBox имеет определённый DataSource.
это понятно, тогда для comboBox будет
C#
1
2
Int32 U;
U = comboBox.?(а тут как?)
Добавлено через 2 часа 23 минуты
как сделать чтоб при запуске формы в datetimepicker дата была не выбрана, т.е. он был пуст?
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 21:13
Цитата Сообщение от blacl_cloak Посмотреть сообщение
как сделать чтоб при запуске формы в datetimepicker дата была не выбрана, т.е. он был пуст?
Никак. DateTimePicker имеет диапазон дат от 01.01.1753 до 31.12.9998 (вроде де бы) и заставляет выбрать одну из дат в этом диапазоне. НО...
1) можно к примеру поставить рядом чек бокс и в зависимости от его состояния делать, DateTimePicker.Enabled=true или false, ну и потом если false то при сохранении сувать NULL.
2) напишем свой контрол-потомок DateTimePicker который дату получает как объект и если null то оставляет пустую ячейку, а если нет то приводит и выводит
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
 
namespace WindowsFormsApplication2
{
    public class ExDateTimePicker : DateTimePicker
    {
        public ExDateTimePicker()
            : base()
        {
            ValueChanged += new EventHandler(ExDateTimePicker_ValueChanged);
        }
 
        void ExDateTimePicker_ValueChanged(object sender, EventArgs e)
        {
            Value = base.Value;
        }
        protected object _value;
        public new object Value
        {
            get { return _value; }
            set
            {
                _value = value;
                if (value is DateTime)
                {
                    Format = DateTimePickerFormat.Long;
                    base.Value = (DateTime)value;
                }
                else
                {
                    Format = DateTimePickerFormat.Custom;
                    CustomFormat = " ";
                }
            }
        }
    }
}
Format = DateTimePickerFormat.Long; тут уже выбирайте как вам удобнее чтобы он отображал.
ЗЫ в принципе оба варианта имеют право быть.
ЗЫЫ спасибо AK87V
1
55 / 55 / 5
Регистрация: 17.09.2012
Сообщений: 128
17.04.2013, 21:59
Цитата Сообщение от blacl_cloak Посмотреть сообщение
это понятно, тогда для comboBox будет
C#
1
2
Int32 U;
U = comboBox.?(а тут как?)
В определении ComboBox'а:

C#
1
2
3
ComboBox1.DataSource = Table_Положение
ComboBox1.DisplayMember = Положение
ComboBox1.ValueMember = Id_положения
Далее при использовании:

C#
1
U = ComboBox1.SelectedValue
1
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
17.04.2013, 22:01
Немного улучшил код, добавив возможность при нажатии кнопки "Delete" очищение DatetimePicker'a. Может кому пригодится.
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
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
 
namespace WindowsFormsApplication2
{
    public class ExDateTimePicker : DateTimePicker
    {
        public ExDateTimePicker()
            : base()
        {
            ValueChanged += new EventHandler(ExDateTimePicker_ValueChanged);
            KeyDown += new KeyEventHandler(ExDateTimePicker_KeyDown);
            
        }
 
        void ExDateTimePicker_ValueChanged(object sender, EventArgs e)
        {
            Value = base.Value;
        }
 
        void ExDateTimePicker_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Delete)
            {
                Format = DateTimePickerFormat.Custom;
                CustomFormat = " ";
            }
        }
 
        protected object _value;
        public new object Value
        {
            get { return _value; }
            set
            {
                _value = value;
                if (value is DateTime)
                {
                    Format = DateTimePickerFormat.Long;
                    base.Value = (DateTime)value;
                }
                else
                {
                    Format = DateTimePickerFormat.Custom;
                    CustomFormat = " ";
                }
            }
        }
    }
}
1
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
18.04.2013, 16:58  [ТС]
Цитата Сообщение от madgun Посмотреть сообщение
В определении ComboBox'а:

C#
1
2
3
ComboBox1.DataSource = Table_Положение
ComboBox1.DisplayMember = Положение
ComboBox1.ValueMember = Id_положения
Далее при использовании:

C#
1
U = ComboBox1.SelectedValue
ошибка. не удается преобразовать тип object в int.
0
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
18.04.2013, 17:00
явно укажите тип:
C#
1
U = (int)ComboBox1.SelectedValue;
1
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
18.04.2013, 17:29  [ТС]
у меня получается что: не удается привестии DBNull.Value к типу system.Int32. используйте тип допускающий значения null.
а мне необходимо чтоб в мою таблицу вставлялся id выбранной строки в боксе.

Добавлено через 6 минут
все. сделал. поставил знак ? после int32
0
5 / 5 / 7
Регистрация: 31.03.2013
Сообщений: 228
17.06.2013, 17:55  [ТС]
Цитата Сообщение от madgun Посмотреть сообщение
В определении ComboBox'а:

C#
1
2
3
ComboBox1.DataSource = Table_Положение
ComboBox1.DisplayMember = Положение
ComboBox1.ValueMember = Id_положения
Далее при использовании:

C#
1
U = ComboBox1.SelectedValue
а как сделать для textBox, в котором содержится число. добавляется в таблицу, где тип данных int?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.06.2013, 17:55
Помогаю со студенческими работами здесь

Как сделать фильтрацию в DataSet по двум датам используя DateTimePicker
Фильтрую данные в DBGrid по одному DateTimePicker (с даты...): ...

Как внести дату в DateTimePicker из ДБ?
Здравствуйте. У меня такая проблема. Необходимо закинуть дату в DateTimePicker из БД. Примерно сделал через StrToDate, но надо менять...

Как считать дату с DateTimePicker?
DateTime date; //дата date = DateTimePicker.Value; //вот тут ругается, требует ссылку на объект

Как получить дату из dateTimePicker
как можно вытянуть дату из dateTimePicker как DateTime, а не string?

Отображать в DateTimePicker-а сегодняшнюю дату, а не дату добавления его на форму
привет всем форумчанинам. У меня такой вопрос, как можно чтобы DateTimePicker показывал сегодняшнюю дату, а не ту дату в которую он был...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru