开发者

Data not inserted into Database table after SqlDataAdapter update

开发者 https://www.devze.com 2023-04-02 21:36 出处:网络
I want to insert data into database table using SqlDataAdapter from one database table to another database table but no effect after import rows from other table

I want to insert data into database table using SqlDataAdapter from one database table to another database table but no effect after import rows from other table

Code

DataTable table1 = objDa开发者_如何学Pythontaset1.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();

Why is the table not updated?


ImportRow will fail if contraints are violated, and will only ADD, so check the number of rows you have in the table at the end. You will probably find that none are being added, especially if there is a primary key involved.

Given that tb is Cloned from table1, I would suggest that you skip the adapter.Fill unless you know that the row state in table1 is incorrect.

Or you might want to try using tb.Load(table1.CreateDataReader(), LoadOption.Upsert);

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号