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

Автоинкремент первичного ключа не работает

27.06.2019, 17:32. Показов 2685. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
commandText = "INSERT INTO Users (Login_User, Password_User, " +
                             "Mail_User, Date_Register, Date_Login, Photo, Photo_Format, Status_User) " +
                             "VALUES(@Login_User, @Password_User, @Mail_User, @Date_Register, @Date_Login, " +
                             "@Photo, @Photo_Format, @Status_User)";
 
                        SqlCommand command = new SqlCommand(commandText, sqlConnection);
 
                        command.Parameters.AddWithValue("@Login_User", Login_Box.Text);
                        command.Parameters.AddWithValue("@Password_User", Pass_Box.Text);
                        command.Parameters.AddWithValue("@Mail_User", Mail_box.Text);
                        command.Parameters.AddWithValue("@Date_Register", DateTime.Now);
                        command.Parameters.AddWithValue("@Date_Login", DateTime.Now);
                        command.Parameters.AddWithValue("@Photo", (object)imageData);
                        command.Parameters.AddWithValue("@Photo_Format", iImageExtension);
                        command.Parameters.AddWithValue("@Status_User", 1);
 
                        sqlConnection.Open();
                        command.ExecuteNonQuery();
                        sqlConnection.Close();
Есть вот такой код.
Автоинкремент на перво поле (ID_User) стоит, поэтому сюда его не вписывал, однако, блок catch ловит ошибку, что первичный ключ не может быть равен NULL. Как такое может быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.06.2019, 17:32
Ответы с готовыми решениями:

Получение первичного ключа
Не могу найти решения следующего вопроса. У меня имеется таблица, где id является инкрементом и первичным ключом. В следующей строке: ...

Извлечение первичного ключа
Уважаемы форумчане! Подскажите пожалуйста, как извлечь первичный ключ одной таблицы чтобы его потом сохранить в другой. Есть две...

Изменение значения первичного ключа
В таблице БД есть первичный ключ ProductID, который вручную не изменяется, при добавлении данных через Query запрос (INSERT), у меня отсчет...

9
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.06.2019, 18:11
Цитата Сообщение от Александр1713 Посмотреть сообщение
Как такое может быть?
Покажите SQL-запрос создания таблицы.
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 49
27.06.2019, 18:21  [ТС]
SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE Users (ID_User INT PRIMARY KEY,
                    Login_User VARCHAR(30),
                    Password_User VARCHAR(30),
                    Mail_User VARCHAR(30),
                    Date_Register DATE,
                    Date_Login DATE,
                    Photo Image DEFAULT (0x),
                    Photo_Format VARCHAR(5) DEFAULT NULL,
                    Status_User INT)
Это через MS SQL.
Основные настройки делал через конструктор C#.

Изменил, чтобы ID_User мог быть равен NULL и он выдал новую ошибку, что необходимо объявить скалярную переменную ID_User
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
27.06.2019, 18:38
Цитата Сообщение от Александр1713 Посмотреть сообщение
SQLВыделить код

CREATE TABLE Users (ID_User INT PRIMARY KEY,
* * * * * * * * * * Login_User VARCHAR(30),
* * * * * * * * * * Password_User VARCHAR(30),
* * * * * * * * * * Mail_User VARCHAR(30),
* * * * * * * * * * Date_Register DATE,
* * * * * * * * * * Date_Login DATE,
* * * * * * * * * * Photo Image DEFAULT (0x),
* * * * * * * * * * Photo_Format VARCHAR(5) DEFAULT NULL,
* * * * * * * * * * Status_User INT)
и где здесь Identity????
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 49
27.06.2019, 18:43  [ТС]
Я же написал, что настроил через конструктор от C#

AutoIncrement - True
AautoIncrementSeed - 0
AutoIncrementStep - 1
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
27.06.2019, 18:48
Александр1713, Ну так вам выше и сказали, где тут Identity. Если ключ не автоматический, значит его в скрипт Insert нужно включать.
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 49
27.06.2019, 18:50  [ТС]
Так, а это интересный ответ.
Если не сложно, могли бы указать на мою ошибку более точнее? (Примером)
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
27.06.2019, 18:50
Цитата Сообщение от Александр1713 Посмотреть сообщение
AutoIncrement - True
AautoIncrementSeed - 0
AutoIncrementStep - 1
Эти свойства вы может использовать при том случае, если все параметры при создание таблицы были учтены. А так это как собаке 5 нога.
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 49
27.06.2019, 18:51  [ТС]
Ну... У меня они работали.
Я просто добавлял путём новой строки и инкремент работал отлично.
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
27.06.2019, 18:52
Александр1713,
SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE Users (ID_User INT PRIMARY KEY IDENTITY(1,1),
                    Login_User VARCHAR(30),
                    Password_User VARCHAR(30),
                    Mail_User VARCHAR(30),
                    Date_Register DATE,
                    Date_Login DATE,
                    Photo Image DEFAULT (0x),
                    Photo_Format VARCHAR(5) DEFAULT NULL,
                    Status_User INT)
Добавлено через 56 секунд
Теперь при Insert ID_User указывать не требуется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.06.2019, 18:52
Помогаю со студенческими работами здесь

Автоматическое заполнение первичного ключа
Пытаюсь через форму добавить в таблицу из БД данные. private void button3_Click(object sender, EventArgs e) { ...

Получение Первичного ключа внесенной записи
Здраствуйте!! Подскажите пожалуйста как вернуть первичный ключ внесенной записи! Я использую OleDataAdapter.InsertCommand с...

Входит ли колонка в состав первичного ключа
Доброго времени суток всем! Бьюсь над, казалось бы, простой задачей уже третий день. Глухо. Имеем БД, добавленную в Visual Studio в...

Добавить строку в БД без первичного ключа
Есть таблица с двумя столбцами: - id - первичный ключ - value - значение int Я пытаюсь добавить данные следующим образом: ...

EF и Ошибка при изменении первичного ключа
Использу EF Code first. Есть сущность с составным ключом. В ключе 3 поля, и ни одно нельзя изменить. вылетает эксепшн : Произошло...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru