gpt4 book ai didi

c# - TableAdapter.Update 不工作

转载 作者:行者123 更新时间:2023-12-04 06:56:25 25 4
gpt4 key购买 nike

这是我的功能:

    private void btnSave_Click(object sender, EventArgs e)
{
wO_FlangeMillBundlesTableAdapter.Update(invClerkDataDataSet.WO_FlangeMillBundles);
wO_HeadMillBundlesTableAdapter.Update(invClerkDataDataSet.WO_HeadMillBundles);
wO_WebMillBundlesTableAdapter.Update(invClerkDataDataSet.WO_WebMillBundles);
int rowsaffected = wO_MillTableAdapter.Update(invClerkDataDataSet.WO_Mill);

MessageBox.Show(invClerkDataDataSet.WO_Mill.Rows[0]["GasReading"].ToString());
MessageBox.Show(rowsaffected.ToString());
}

您可以看到函数中的第四次更新使用与其他更新相同的功能,我只是添加了一些调试内容。前三个表绑定(bind)到 DataGridViews 并且工作正常。第四个表的成员绑定(bind)到各种文本框。

当我更改绑定(bind)到 GasReading 列的文本框中的值并单击保存时,第一个 MessageBox 实际上确实显示了新值,因此它正确地将其放入数据集中。但是,受影响的行始终显示为 0,并且实际数据库中的值未更新。

谁能看到我的问题?我知道问题必须在我的代码中的其他地方,因为四种更新方法是相同的,但我只是不知道从哪里开始。

这是我的绑定(bind)代码:
        txtHours.DataBindings.Add("Text", invClerkDataDataSet.WO_Mill, "HoursRun");
txtGasReading.DataBindings.Add("Text", invClerkDataDataSet.WO_Mill, "GasReading");
txtDelayMins.DataBindings.Add("Text", invClerkDataDataSet.WO_Mill, "DelayMins");
txtGapMins.DataBindings.Add("Text", invClerkDataDataSet.WO_Mill, "GapMins");

我知道有更复杂的绑定(bind)方法,但绑定(bind)不是问题。同样,数据正在从绑定(bind)的文本框进入数据表,但它们并没有从那里进入数据库。

最佳答案

  • 最好调用wO_MillDataSource.EndEdit()在 Adapter.Update() 之前。从控件中提取所有更改。
  • 如果第 4 个表和其他表之一之间存在外键关系,您将不得不拆分插入/更新和删除操作,或使用 TableAdaptermanager
  • 关于c# - TableAdapter.Update 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496422/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com