Заполнить строку данных с первичной ключом после вставки в таблицу SQL ServerC#

Место общения программистов C#
Anonymous
Заполнить строку данных с первичной ключом после вставки в таблицу SQL Server

Сообщение Anonymous »

У меня есть DataTable в C# с столбцом первичного ключа, который использует отрицательные числа для автоматического приращения. Когда я обновляю заднюю часть, я не могу понять, как получить первичный ключ из базы данных в строку DataTable .

Код: Выделить всё

using (SqlDataAdapter adapter = new SqlDataAdapter(selectQuery, connection))
using (SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter))
{
var primaryKeyColumn = dataTable.PrimaryKey[0];
var primaryKey = primaryKeyColumn.ColumnName;

adapter.UpdateCommand = commandBuilder.GetUpdateCommand();
adapter.DeleteCommand = commandBuilder.GetDeleteCommand();

adapter.InsertCommand = commandBuilder.GetInsertCommand();
adapter.InsertCommand.CommandText += "; SET @Identity = SELECT CAST(SCOPE_IDENTITY() AS int);";
var identityParameter = adapter.InsertCommand.CreateParameter();

identityParameter.ParameterName = "@Identity";
identityParameter.DbType = DbType.Int32;
identityParameter.Direction = ParameterDirection.Output;
identityParameter.SourceColumn = primaryKey;
adapter.InsertCommand.Parameters.Add(identityParameter);

//adapter.RowUpdated += Adapter_RowUpdated;

// Update database with changes from DataTable
adapter.Update(dataTable);
}
Я также пытался использовать событие adapter_rowupdated примерно в дюжине разных способов, но ни один из них не работает для меня, и я не знаю, что я делаю неправильно.

Подробнее здесь: https://stackoverflow.com/questions/797 ... sql-server

Вернуться в «C#»