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

При добавлении данных в БД ругается когда строка не заполнена

13.03.2013, 13:06. Показов 1437. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В БД имеется столбец который может заполняться, а может нет. Добавляю данные с помощью данного кода
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 private void button1_Click(object sender, EventArgs e)
        {
            int Nomer = int.Parse(this.textBox1.Text);
            string Otpr = Convert.ToString(this.comboBox1.Text);
            string Ucxn = Convert.ToString(this.textBox5.Text);
            string Otkp = Convert.ToString(this.textBox3.Text);
            string Koll = Convert.ToString(this.textBox2.Text);
            string Pril = Convert.ToString(this.textBox10.Text);
            string Crok = Convert.ToString(this.textBox9.Text);
            string Otv = Convert.ToString(this.comboBox2.Text);
            DateTime Vxd = DateTime.Parse(this.textBox6.Text);
            DateTime Ucxd = DateTime.Parse(this.textBox4.Text);
            DateTime Dataz = DateTime.Parse(this.textBox8.Text);
            string Nomerd = Convert.ToString(this.textBox7.Text);
            string Nomeru = Convert.ToString(this.textBox11.Text);
            string Ucpol = Convert.ToString(this.comboBox3.Text);
            DateTime Dataper = DateTime.Parse(this.textBox14.Text);
            string Kpsod = Convert.ToString(this.textBox12.Text);
            string Prim = Convert.ToString(this.textBox15.Text);
            DateTime Datauc = DateTime.Parse(this.textBox13.Text);
            Boolean Dsp = Convert.ToBoolean(this.checkBox1.Checked);
 
            conn = new SqlConnection();
 
            conn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|YBD.mdf;Integrated Security=True; Connect Timeout = 30; User Instance=True";
 
            try
            {
                conn.Open();
                SqlCommand myCommand = conn.CreateCommand();
                myCommand.CommandText = "INSERT INTO[" + yBDDataSet4.Входящие.TableName + "] ([Номер], [ДСП], [Отправитель], [Входящая дата], [Исходящий номер], [Исходящая дата],  [Откуда поступил], [Количество листов], [Приложение], [Срок выполнения], [Ответственный], [Дата закрытия], [№ дела], [№ исполненного], [Исполнитель], [Дата передачи], [Краткое содержание], [Примечание],  [Дата исполнения]) VALUES ( @Nomer, @Dsp, @Otpr, @Vxd, @Ucxn, @Ucxd, @Otkp, @Koll, @Pril, @Crok, @Otv, @Dataz, @Nomerd, @Nomeru, @Ucpol, @Dataper, @Kpsod, @Prim, @Datauc)";
 
 
                myCommand.Parameters.Add("@Nomer", SqlDbType.Int, 100);
                myCommand.Parameters["@Nomer"].Value = Nomer;
 
                myCommand.Parameters.Add("@Otpr", SqlDbType.NVarChar, 20);
                myCommand.Parameters["@Otpr"].Value = Otpr;
 
 
                myCommand.Parameters.Add("@Vxd", SqlDbType.SmallDateTime, 20);
                myCommand.Parameters["@Vxd"].Value = Vxd;
 
                myCommand.Parameters.Add("@Ucxn", SqlDbType.NVarChar, 20);
                myCommand.Parameters["@Ucxn"].Value = Ucxn;
 
                myCommand.Parameters.Add("@Ucxd", SqlDbType.SmallDateTime, 20);
                myCommand.Parameters["@Ucxd"].Value = Ucxd;
 
                myCommand.Parameters.Add("@Otkp", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Otkp"].Value = Otkp;
 
                myCommand.Parameters.Add("@Koll", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Koll"].Value = Koll;
 
                myCommand.Parameters.Add("@Pril", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Pril"].Value = Pril;
 
                myCommand.Parameters.Add("@Crok", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Crok"].Value = Crok;
 
                myCommand.Parameters.Add("@Otv", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Otv"].Value = Otv;
 
                myCommand.Parameters.Add("@Dataz", SqlDbType.SmallDateTime, 50);
                myCommand.Parameters["@Dataz"].Value = Dataz;
 
                myCommand.Parameters.Add("@Nomerd", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Nomerd"].Value = Nomerd;
 
                myCommand.Parameters.Add("@Nomeru", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Nomeru"].Value = Nomeru;
 
                myCommand.Parameters.Add("@Ucpol", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Ucpol"].Value = Ucpol;
 
                myCommand.Parameters.Add("@Dataper", SqlDbType.SmallDateTime, 50);
                myCommand.Parameters["@Dataper"].Value = Dataper;
 
                myCommand.Parameters.Add("@Kpsod", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Kpsod"].Value = Kpsod;
 
                myCommand.Parameters.Add("@Prim", SqlDbType.NVarChar, 50);
                myCommand.Parameters["@Prim"].Value = Prim;
 
 
                myCommand.Parameters.Add("@Datauc", SqlDbType.SmallDateTime, 50);
                myCommand.Parameters["@Datauc"].Value = Datauc;
 
                myCommand.Parameters.Add("@Dsp", SqlDbType.Bit, 1);
                myCommand.Parameters["@Dsp"].Value = Dsp;
Столбец Дата исполнения может быть пустой, а может быть заполнена, если при добавлении данных через textbox не заполнять данное поле то прога ругается
Ошибка:Дополнительные сведения: Строка не распознана как действительное значение DateTime.

Добавлено через 2 минуты
что нужно сделать чтобы можно было добавлять пустую строку?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2013, 13:06
Ответы с готовыми решениями:

Ошибка при добавлении данных в SQL SERVER (входная строка имела неверный формат)
Народ, помогите пожалуйста решить такую проблему: Есть приложение работающее с БД SQL SERVER. При добавлении какой-либо записи в форму,...

Ругается при добавлении русских символов
Работаю с InterBase при добавлении в тектовые поля латиницы все нормально, но когда отправляю запрос на добавление в бд кирилицы,...

Ругается при добавлении компонента EDIT на форму
Здравствуйте товарищи программисты :) Ситуация следующая, создаю новый проект, сохраняю его в указанную папку, добавляю на форму...

8
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
13.03.2013, 13:30
Поменять тип Datauc на DateTime?
При возникновении ошибки в DateTime.Parse присваивать null
0
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 20
13.03.2013, 13:39  [ТС]
Подскажите пж а где эту ошибку прописать?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
13.03.2013, 14:43
Используйте, например, метод DateTime.TryParse. Он возвращает false в случае ошибки.
0
Заблокирован
13.03.2013, 17:13
C#
1
2
3
4
5
6
7
8
9
10
11
12
DateTime result;
            //textBox1.Text - String DateTime
            if (DateTime.TryParse(this.textBox1.Text, out result))
            {
                String Query = "INSERT INTO [](.,.,.) VALUES( .,.,.," +
 new System.Data.SqlTypes.SqlDateTime(result) + ")";
            }
            else
            {
                String Query = "INSERT INTO [](.,.,.) VALUES( .,.,.," + 
System.DBNull.Value + ")";
            };
0
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 20
14.03.2013, 11:40  [ТС]
Спасибо большое
0
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 20
15.03.2013, 12:25  [ТС]
Еще вопрос, этот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
DateTime result;
            //textBox1.Text - String DateTime
            if (DateTime.TryParse(this.textBox1.Text, out result))
            {
                String Query = "INSERT INTO [](.,.,.) VALUES( .,.,.," +
 new System.Data.SqlTypes.SqlDateTime(result) + ")";
            }
            else
            {
                String Query = "INSERT INTO [](.,.,.) VALUES( .,.,.," + 
System.DBNull.Value + ")";
            };
нужно вставлять в try или catch и сюда
C#
1
2
String Query = "INSERT INTO [](.,.,.) VALUES( .,.,.," + 
System.DBNull.Value + ")";
вставлять мой запрос insert или что-то другое ?
0
Заблокирован
15.03.2013, 14:21
В try catch вставлять не надо. Туда нужно вставлять insert запрос.
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
15.03.2013, 15:02
Была у меня как то похожая задача. пользователь мог поставить дату (галочкой на чекбоксе открывался dateTimepicker), а мог и не ставить. в базе дата хранится в типе smalldatetime. по суте если пользователь не выбрал дату то заносить надо было NULL. сделал проверку так:
C#
1
2
3
object DvidDocFamily, DateKonecRab;
            DvidDocFamily = (((frmIndCard)Application.OpenForms["frmIndCard"]).cbDVidDocFamily.Checked == true) ? ((frmIndCard)Application.OpenForms["frmIndCard"]).dtpDVidDocFamily.Text : null;
            DateKonecRab = (((frmIndCard)Application.OpenForms["frmIndCard"]).cbDateKonecRab.Checked == true) ? ((frmIndCard)Application.OpenForms["frmIndCard"]).dtpDateKonRab.Text : null;
dtpDVidDocFamily и dtpDateKonRab соответственно DataTimePicker. ну далее уже как обычно insert'ом запрос на сохранение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.03.2013, 15:02
Помогаю со студенческими работами здесь

При добавлении записей в таблицу Acces программа ругается
Вот сам код using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

При добавлении программы в автозагрузку Kaspersky ругается и удаляет её
Вот так добавляю: Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; ...

При добавлении данных в StringGrid добавляется "ненужная" строка
Всем привет, помогите избавиться от данной проблемы. Никак не могу сообразить. procedure TForm1.BitBtn1Click(Sender: TObject); var ...

Ошибка при добавлении. Ругается на добавление даты и неправильный синтаксис
Подскажите где ошибка при добавлении. ругается на добавление даты и неправильный синтаксис. вот база вот таким способом добавляю...

При добавлении Flurry analytics Xcode ругается на путь к библиотеке
Всем привет. Уже второй день пытаюсь добавить в проект Flurry analytics... Но Xcode 7 ругается. ld: library not found for -lFlurry_7.5.1 ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru