gpt4 book ai didi

java - 如何更新数据集中的现有记录

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:30 25 4
gpt4 key购买 nike

我似乎无法使用强类型数据集更新表中的现有记录。我可以添加新记录,但如果我对现有记录进行更改,则它不起作用。

这是我的代码:

 private void AddEmplMaster()
{
dsEmplMast dsEmpMst = new dsEmplMast();

SqlConnection cn = new SqlConnection();
cn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["cn.ConnectionString"];

SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM UPR00100", cn);
SqlCommandBuilder cb1 = new SqlCommandBuilder(da1);

da1.Fill(dsEmpMst.UPR00100);

DataTable dtMst = UpdateEmpMst(dsEmpMst);
da1.Update(dsEmpMst.UPR00100);
}

从上面调用此过程以将更改的字段分配给记录:

private DataTable UpdateEmpMst(dsEmplMast dsEmpMst)
{
DataTable dtMst = new DataTable();

try
{
dsEmplMast.UPR00100Row empRow = dsEmpMst.UPR00100.NewUPR00100Row();

empRow.EMPLOYID = txtEmplId.Text.Trim();
empRow.LASTNAME = txtLastName.Text.Trim();
empRow.FRSTNAME = txtFirstName.Text.Trim();
empRow.MIDLNAME = txtMidName.Text.Trim();
empRow.ADRSCODE = "PRIMARY";
empRow.SOCSCNUM = txtSSN.Text.Trim();
empRow.DEPRTMNT = ddlDept.SelectedValue.Trim();
empRow.JOBTITLE = txtJobTitle.Text.Trim();
empRow.STRTDATE = DateTime.Today;
empRow.EMPLOYMENTTYPE = "1";

dsEmpMst.UPR00100.Rows.Add(empRow);

}
catch { }
return dtMst;
}

谢谢

更新:

好吧,我明白了。在我的 UpdateEmpMst() 过程中,我必须先检查记录是否存在,然后再检索它。如果没有,则创建一个新记录来添加。这是我添加的内容:

try
{
dsEmplMast.UPR00100Row empRow;
empRow = dsEmpMst.UPR00100.FindByEMPLOYID(txtEmplId.Text.Trim());

if (empRow == null)
{
empRow = dsEmpMst.UPR00100.NewUPR00100Row();
dsEmpMst.UPR00100.Rows.Add(empRow);
}

然后我将我的数据分配给我创建的新 empRow 并正常更新。

最佳答案

为了编辑数据集中的现有记录,您需要访问特定行中的特定数据列。可以通过以下方式访问类型化和非类型化数据集中的数据:使用表、行和列集合的索引。通过将表名和列名作为字符串传递给它们各自的集合。尽管类型化数据集可以使用与非类型化数据集相同的语法,但使用类型化数据集还有其他优势。有关详细信息,请参阅下面的“使用类型化数据集更新现有记录”部分。更新类型化或非类型化数据集中的现有记录为 DataRow 对象中的特定列赋值。无类型数据集的表名和列名在设计时不可用,必须通过各自的索引访问。

关于java - 如何更新数据集中的现有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15934895/

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