Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2015, 15:34   #1
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
Вопрос Нумерация строк, ключ...

Как в таблице добавить поле в котором автоматом будет проставляться порядковый номер записи.

Primare key - поле должно иметь уникальный ключ?
Попытался добавить запись, требует указать и id. Автоматом никак нельзя настроить?


После того добавили запись в таблицу, выполнили запрос (ExecuteNonQuery()). Можно ли сразу получить ключ, значение поля id? Дабы не делать лишний запрос..
Изображения
Тип файла: jpg i.jpg (26.0 Кб, 116 просмотров)
Predator199 вне форума Ответить с цитированием
Старый 30.03.2015, 15:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Автоматом никак нельзя настроить?
Можно. Для этого поля при создании таблицы указывается автоинкремент (IDENTITY ели не ошибаюсь). Все завсисит от того как ты создал таблицу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2015, 15:43   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что вопрос чисто по SQL делает в разделе C#?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2015, 15:52   #4
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Зашел в бд, нажал правой кнопкой мыши по "Таблицы". Выбрал добавить новую или создать. В общем сразу открывается следующее окно, ничего еще не изменял. Id по умолчанию, автокримента никакого не было...

Быть может тут ближе к индексу?? Правая колонка, index, что это?

Код:
CREATE TABLE [dbo].[Table]
(
	[Id] INT NOT NULL 
)

GO

CREATE INDEX [Id] ON [dbo].[Table] ([ID])
Тогда придется убрать primary key на поле.
Изображения
Тип файла: jpg i.jpg (82.8 Кб, 126 просмотров)

Последний раз редактировалось Predator199; 30.03.2015 в 15:54.
Predator199 вне форума Ответить с цитированием
Старый 30.03.2015, 15:57   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
ExecuteNonQuery()). Можно ли сразу получить ключ, значение поля id?
ExecuteScalar или как-то так http://stackoverflow.com/questions/5...n-id-on-insert
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.03.2015, 16:06   #6
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
ExecuteScalar или как-то так http://stackoverflow.com/questions/5...n-id-on-insert
Код:
int id = cmd.ExecuteScalar();
"Id", будет содержать id добавленной строчки?

Этот формат исерта верный?

Код:
new SqlCommand(@"
                INSERT INTO MagicBoxes (OwnerID, [Key], Name, [Permissions], Active, LastUpdated) 
                OUTPUT INSERTED.Id
                VALUES (@OwnerID, @BoxKey, @BoxName, 0, 1, @Date) ", conn))
OUTPUT INSERTED.Id - это что?
Тогда это @OwnerID зачем?

Чуть позже гляну
Код:
SqlParameter param = new SqlParameter("@ID", SqlDbType.Int, 4);
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);

Последний раз редактировалось Predator199; 30.03.2015 в 16:08.
Predator199 вне форума Ответить с цитированием
Старый 30.03.2015, 16:11   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
[Id] INT NOT NULL
https://msdn.microsoft.com/ru-ru/library/ms186775.aspx
Даже с примерами. В дизайнере в свойстве поля так же можно указать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2015, 16:37   #8
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
Как в таблице добавить поле в котором автоматом будет проставляться порядковый номер записи.
автоматом никак, только руками
lomastr_ вне форума Ответить с цитированием
Старый 30.03.2015, 16:46   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
только руками
Не надоело еще людей в заблуждение вводить ложной информацией?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2015, 16:50   #10
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

вы опять пофлудить решили?
отвечая на ваш вопрос скажу что не имею такой привычки
а вам советую почитать что такое порядковый номер записи и что такое значение поле с инкрементом и т.д. по списку
lomastr_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нумерация строк. Gefo PHP 8 21.02.2013 18:45
нумерация строк ЦЕРЦЕЯ Microsoft Office Excel 9 02.07.2011 00:35
Нумерация строк StartMis Общие вопросы Delphi 20 17.01.2011 15:00
Нумерация строк Sparky БД в Delphi 6 16.02.2010 21:38
Нумерация строк. QT 4 NikLik Qt и кроссплатформенное программирование С/С++ 2 18.12.2008 22:38