gpt4 book ai didi

c# - SqlDataAdapter 更新后数据未插入到数据库表中

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:29 28 4
gpt4 key购买 nike

我想使用 SqlDataAdapter 将数据从一个数据库表插入到另一个数据库表,但在从另一个表导入行后没有效果

代码

DataTable table1 = objDataset1.Tables[0];
DataTable tb = table1.Clone();
DataSet ds = new DataSet();

string ConnString = @"DataSource=.\SQLExpress;Database=WICC;Trusted_Connection=true;Connection Timeout=180;";

SqlConnection con = new SqlConnection(ConnString);
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM tblSitePMRDetail", con);
SqlCommandBuilder build = new SqlCommandBuilder(adapter);

adapter.Fill(tb);
con.Open();

foreach (DataRow dr in table1.Rows)
{
tb.ImportRow(dr);
}

adapter.Update(tb);

con.Close();

为什么表格没有更新?

最佳答案

如果违反约束,ImportRow 将失败,并且只会添加,因此请在末尾检查表中的行数。您可能会发现没有添加任何内容,尤其是在涉及主键的情况下。

鉴于 tb 是从 table1 克隆而来的,我建议您跳过 adapter.Fill,除非您知道 table1 中的行状态不正确。

或者您可能想尝试使用 tb.Load(table1.CreateDataReader(), LoadOption.Upsert);

关于c# - SqlDataAdapter 更新后数据未插入到数据库表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331796/

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