0

我在互联网上搜索了几天如何创建可用于编辑值的数据绑定表单,但没有运气。如果有人可以帮助我,我将不胜感激!

读取值可以完美地工作,但更新/插入却不行。

表单加载:

newRow = issueTable.NewRow();
newRow["ID"] = Id;
issueTable.Rows.Add(newRow);
txtName.DataBindings.Add("Text", issueTable, "Name");

节省:

SqlCommandBuilder build = new SqlCommandBuilder(adaptor);
adaptor.InsertCommand = build.GetInsertCommand();
adaptor.Update(issueTable);

我的问题是在 SQL 表中:“ID”被存储,但“名称”保持为空。对我来说奇怪的是,如果我监控 issueTable.Rows[0]["Name"],它会返回表单上的值。

谢谢!

4

1 回答 1

1

问题是我想同时插入和编辑。我没有意识到如果一行处于插入状态,它会阻止更新。

解决方案:

加载:

newRow = issueTable.NewRow();
newRow["ID"] = Id;
issueTable.Rows.Add(newRow);
txtName.DataBindings.Add("Text", issueTable, "Name");
newRow.AcceptChanges(); //Remove the Insert State, to accept modifications
isNew = true;

节省:

if (isNew)
{
    newRow.SetAdded(); //Add the Insert State back
    isNew = false;
}

SqlCommandBuilder build = new SqlCommandBuilder(adaptor);
adaptor.InsertCommand = build.GetInsertCommand();
adaptor.UpdateCommand = build.GetUpdateCommand();
adaptor.Update(issueTable);
于 2012-05-08T16:20:13.083 回答