как мне сделать что бы при добавлении в таблицу число было больше предыдущего на 1?
Мне нужно сделать так что бы при добавлении в таблицу новой строчки, в столбце "ProductID", каждое значение было больше предыдущего. Что мне нужно написать в newProduct.ProductID =
?
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
var dataSet = (FloralDataSet)FindResource("floralDataSet");
try
{
var newProduct = dataSet.Product.NewProductRow();
newProduct.ProductID =
newProduct.ProductName = "Название";
newProduct.Unit = "Колличество";
newProduct.Quantity = "Качество";
newProduct.PricePerUnit = 0;
dataSet.Product.AddProductRow(newProduct);
productDataGrid.SelectedItem = newProduct;
MessageBox.Show("Пожалуйста, заполните данные для новой записи.", "Добавление записи", MessageBoxButton.OK, MessageBoxImage.Information);
}
catch (SqlException ex)
{
MessageBox.Show("Произошла ошибка при добавлении записи: " + ex.Message, "Ошибка добавления записи", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
Ответы (1 шт):
Автор решения: Deniska SosiSka
→ Ссылка
Для назначения у новой строки следующего по порядку id
, Вам необходимо сначала узнать максимальный id в таблице. Вы можете сделать это при помощи LINQ:
var maxProductId = dataSet.Product.Max(p => p.ProductID);
После чего, присвойте новой строке значение id
больше на 1
:
newProduct.ProductID = maxProductId + 1;
Если подразумевается что в Вашей таблице не присутствуют строки по умолчанию, необходимо обработать возможный null:
var maxProductId = dataSet.Product.Max(p => (int?) p.ProductID);
newProduct.ProductID = (maxProductId ?? 0) + 1;