C# 4.0 如何只更新datagrid中的一行
我在运行代码时遇到问题,然后更新成功,但我只想更新一行。当通过我的代码更新所有数据时 我的代码是: 代码 我不知道为什么 请推荐我 “谢谢”第一次使用。看看这个帖子C# 4.0 如何只更新datagrid中的一行,c#-4.0,ms-access-2007,C# 4.0,Ms Access 2007,我在运行代码时遇到问题,然后更新成功,但我只想更新一行。当通过我的代码更新所有数据时 我的代码是: 代码 我不知道为什么 请推荐我 “谢谢”第一次使用。看看这个帖子 代码的问题在于,您正在使用BindGridData()刷新完整的数据源可能存在这样的情况,即代码中的其他地方更新了其他记录,并且您的BindGridData()似乎再次从数据库获取数据。您可以将现有数据源存储在临时位置,然后对其进行更新并将其绑定到数据网格,而不是通过db获取最新数据现在确定我是否理解了该问题。根据您正在根据comp
代码的问题在于,您正在使用
BindGridData()刷新完整的数据源代码>可能存在这样的情况,即代码中的其他地方更新了其他记录,并且您的BindGridData()
似乎再次从数据库获取数据。您可以将现有数据源存储在临时位置,然后对其进行更新并将其绑定到数据网格,而不是通过db获取最新数据现在确定我是否理解了该问题。根据您正在根据companyID更新记录的代码。是什么让你认为“所有数据都更新了?”是的,但我只想更新公司Id数据。还有什么正在更新,为什么会更新?您没有在此处添加其他可见的数据,那么数据库中还有哪些更改?
protected void imgbtn_Save_Click(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "update Companies set CompanyFName='" + txt_ComName.Text + "',CompanySName='" + txt_ShortName.Text + "',CompanyeMail='" + txt_email.Text + "',CompanyWebsite='" + txt_website.Text + "'where CompanyId=CompanyId";
cmd.Connection = conn;
OleDbDataAdapter da = new OleDbDataAdapter();
da.UpdateCommand = cmd;
cmd.ExecuteNonQuery();
conn.Close();
BindGridData();
lblError.Font.Bold = true;
lblError.Font.Size = 11;
lblError.Text = "You have successfully modified the case!";
}