Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Hasancheg
0 / 0 / 1
Регистрация: 01.10.2015
Сообщений: 155
1

Сравнение id с DBNull

05.12.2015, 18:43. Просмотров 1031. Ответов 2
Метки нет (Все метки)

Есть код на С#:
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
        public void InsertData(string Surname, string Name)
        {
            string conStr = "server=localhost;user=root;" +
                            "database=mydb;password=admin;";
            int idMax;
 
            using (MySqlConnection con = new MySqlConnection(conStr))
            {
                try
                {
                    string sql = "INSERT INTO people_table (id,Surname, Name)" +
                                 "VALUES (@id,@Surname, @Name)";
                    string maxId = "SELECT MAX(id) AS id FROM people_table ";
                    con.Open();
                    MySqlCommand cmd = new MySqlCommand(sql, con);
                    MySqlCommand cmd2 = new MySqlCommand(maxId, con);
                    idMax = Convert.ToInt32(cmd2.ExecuteScalar());
 
                    //создаем параметры и добавляем их в коллекцию
                    cmd.Parameters.AddWithValue("@id", Convert.ToInt32(idMax) + 1);
                    cmd.Parameters.AddWithValue("@Surname", Surname);
                    cmd.Parameters.AddWithValue("@Name", Name);
                    cmd.ExecuteNonQuery();
                }
 
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    if (con.State == ConnectionState.Open)
                        con.Close();
                }
            }
Как мне реализовать заполнение таблицы, если там данных нет? Ошибка: НЕВОЗМОЖНО ВЫПОЛНИТЬ ПРИВЕДЕНИЕ ДАННОГО ОБЪЕКТА ИЗ DBNull К ДРУГОМУ ТИПУ.
Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2015, 18:43
Ответы с готовыми решениями:

DBNull при попытке сравнить значения
Вот такой кусок кода if (!DBNull.Value.Equals(cmd.Parameters)) ...

DBNull несмотря на то, что ячейка не пустая
Ситуация такая, есть столбец с различными значениями. Я эти самые значения...

Трехслойная архитектура для ADO NET, возвращение DBNull и мелочи
Здравствуйте. Прочитав эту статью про трехслойную архитектуру доступа к данным,...

Ошибка преобразования System.DBnull в стринг
Всем здравствуйте. DataGridView инициализирована базой данных. Все поля базы...

Запрос выдает исключение DBNull при сравнивании с DateTime
Всем доброго времени суток! Есть метод проверяющий отсутствие книги в...

2
OwenGlendower
Супер-модератор
Эксперт .NET
9479 / 8288 / 3547
Регистрация: 17.03.2014
Сообщений: 16,502
Записей в блоге: 1
05.12.2015, 18:51 2
Hasancheg, в рамках данного кода можно поступить так:
C#
1
2
object idResult = cmd2.ExecuteScalar();
idMax = idResult == DBNull.Value ? 0 : Convert.ToInt32(idResult);
Однако правильнее использовать auto_increment колонку чтобы MySQL сам назначал ID.
1
Hasancheg
0 / 0 / 1
Регистрация: 01.10.2015
Сообщений: 155
05.12.2015, 18:59  [ТС] 3
OwenGlendower, СПАСИБО
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2015, 18:59

Ошибка: Приведение типа DBNull к типу String является недопустимым
В чём может быть проблема с базой (таблицей), если в созданном для базы...

"Приведение типа "|DBNull" к типу "String" при попытке загрузить данные из ячейки DataGridView в ComboBox
Доброго времени суток! Сама ошибка "Приведение типа "|DBNull" к типу "String"...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++
Доброго времени суток! Имеется код программы: ifstream test("primer.txt");...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru