【发布时间】:2020-07-09 06:26:00
【问题描述】:
如何读取整行并将其保存到变量中?我知道那里存储的是什么类型(自定义员工类型)。
我尝试过手动操作。
private async void AddEmployee()
{
var context = new NorthwindContext();
int selectedRowCount = EmpMgmtDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
for (int i = 0; i < selectedRowCount; i++)
{
var employeeToAdd = new Employees();
employeeToAdd.FirstName = EmpMgmtDataGridView[1, i].ToString();
employeeToAdd.LastName = EmpMgmtDataGridView[2, i].ToString();
await context.AddAsync(employeeToAdd);
await context.SaveChangesAsync();
}
}
}
但它的结尾是
SqlException: String or binary data would be truncated.
The statement has been terminated.
在 SaveChanges。 我正在尝试将其发送到数据库中,但我知道该怎么做,只是无法从 DataGridView 中获取它。
编辑
进行了升级,但以相同的错误结束。
private async void AddEmployee()
{
var context = new NorthwindContext();
int selectedRowCount = EmpMgmtDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);
var rows = EmpMgmtDataGridView.SelectedRows;
if (selectedRowCount > 0)
{
for (int i = 0; i < selectedRowCount; i++)
{
var employeeToAdd = new Employees();
employeeToAdd.LastName = rows[i].Cells[1].ToString();
employeeToAdd.FirstName = rows[i].Cells[2].ToString();
await context.AddAsync(employeeToAdd);
await context.SaveChangesAsync();
}
}
}
【问题讨论】:
标签: c# visual-studio winforms .net-core datagridview