Мой вопрос в том, как получить максимальное значение первичного ключа в таблице, увеличить его на +1, а затем поместить этот результат в определенное текстовое поле. Текст, который будет вставлен позже к базе данных в качестве новой записи. СпасибоC# Как получить максимальное значение первичного ключа
0
A
ответ
1
Это может привести к медленной работе программы, если база данных содержит тонны записей, но она работает хорошо для меня.
DataTable myDataTable = new DataTable();
/*
Add record from primary key column to datatable
*/
//Add primary key from datatable to List<int>
List<int> primaryKeyList = new List<int>();
foreach (DataRow row in myDataTable.Rows)
{
primaryKeyList.Add(Int32.Parse(row[0].ToString()));
}
int maxKey = primaryKeyList.Max();
primaryKeyList.Clear();
myDataTable.Dispose();
/*
Do whatever you want with maxKey
*/
или
DataTable myDataTable = new DataTable();
/*
Add record from primary key column to datatable
*/
int maxKey = 0;
//Find max key
foreach (DataRow row in myDataTable.Rows)
{
if(Int32.Parse(row[0].ToString()) > maxKey) maxKey = Int32.Parse(row[0].ToString());
}
myDataTable.Dispose();
/*
Do whatever you want with maxKey
*/
+0
Хотя это и отвечает на вопрос, для приложения действительно не очень хорошая идея генерировать первичный ключ по причинам, указанным в комментариях выше. – Tim
Смежные вопросы
- 1. Последовательность и максимальное значение первичного ключа + 1
- 2. Как выбрать максимальное значение на второй первичного ключа
- 3. Как принять максимальное значение первичного ключа в таблице
- 4. как получить значение первичного ключа - дозвуковые
- 5. Как получить значение последнего вставленного первичного ключа
- 6. Как изменить значение первичного ключа?
- 7. Максимальное значение ключа из словаря
- 8. Учение - недостающее значение первичного ключа
- 9. Ввести значение столбца первичного ключа в столбец не первичного ключа
- 10. Как получить определенную строку, зная значение первичного ключа?
- 11. EF Изменить значение первичного ключа
- 12. Cayenne «сбрасывает» значение первичного ключа?
- 13. Как лучше всего снизить значение первичного ключа?
- 14. Значение первичного ключа не изменяется
- 15. Значение первичного ключа Cassandra UPDATE
- 16. ADO - как получить поля первичного ключа
- 17. Как получить значение уникального идентификатора первичного ключа сразу после вставки
- 18. Как получить значение первичного ключа в Entity Framework Core
- 19. Как получить последнее значение первичного ключа в cassandra (php)?
- 20. Как получить значение последнего введенного идентификатора первичного ключа
- 21. Как получить случайное (но уникальное для даты) значение первичного ключа?
- 22. Как я могу получить значение первичного ключа NSManagedObject?
- 23. Как получить последнее значение первичного ключа обновленных записей (varchar)
- 24. Как вставить значение первичного ключа явно?
- 25. Получить имя первичного ключа таблицы
- 26. Получить ограничение первичного ключа и внешнего ключа
- 27. R как найти максимальное значение с помощью первичного ключа и удаление дубликатов
- 28. C# Автоматическое приращение первичного ключа
- 29. Как получить минимальное/максимальное значение для конкретного ключа в python?
- 30. Как получить максимальное значение для конкретного ключа из словаря питона
Не было бы легче иметь первичный ключ быть столбец идентификаторов, и пусть база данных позаботиться о его обновления? – Tim
Существуют опасности для этого. Например, 2 человека одновременно получают доступ к одной странице и получают одинаковый максимальный id. Теперь одно сообщение перед другим и max id теперь изменилось. Второй человек приведет к конфликту первичного ключа при попытке обновления. Я бы предложил следующее Tims комментарий –
И многое, гораздо безопаснее. Это не будет хорошо масштабироваться, когда вы позволяете пользователю редактировать несколько записей или несколько пользователей для каждого редактирования одновременно. Вы получите дубликаты ключей. –