所以目前正在处理一个项目并坚持这个问题
当我尝试更新SQL数据库中的项目时,我不断收到错误,并且对错误感到困惑。
if (MessageBox.Show("Do You Wish To Update Field Details?", "Update Field Details", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes)
{
try
{
int fieldID = int.Parse(cmbFieldInfo.SelectedValue.ToString());
drFields = dsFarmCosts.Tables["fieldDetails"].Rows.Find(fieldID);
drFields.BeginEdit();
drFields["fieldName"] = add.FieldName;
drFields["fieldSize"] = add.FieldSize;
drFields["FieldLocation"] = add.FieldLocation;
drFields["fieldHistory"] = add.FieldHistory;
drFields.EndEdit();
daFarmCosts.Update(dsFarmCosts, "fieldDetails");
Reset();
MessageBox.Show("Field Details Updated");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
错误是
System.InvalidOperationException:Update需要有效 使用已修改的行传递DataRow集合时的UpdateCommand。
在 System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent,BatchCommandInfo [] batchCommands,Int32 commandCount)
在 System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent,BatchCommandInfo [] batchCommands,Int32 commandCount)
在System.Data.Common.DbDataAdapter.Update(DataRow [] dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable) dataTable,DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet,String srcTable要)
at Farm_Costs.field_screens.fieldEditScreen.btnSubmit_Click(Object 发件人,EventArgs e)在H:\ School \ Magee \ Project \ Program \ Farm中 成本\农场成本\字段屏幕\ fieldEditScreen.cs:第114行
艾米的建议或提示?
答案 0 :(得分:1)
您需要在UpdateCommand
DataAdapter上拥有daFarmCosts
。类似于以下代码:
...
daFarmCosts .Fill();
dadaFarmCosts UpdateCommand = new SqlCommandBuilder(daFarmCosts).GetUpdateCommand();
...
daFarmCosts .Update();