如何在数据库中查找和修改列数据?

问题描述 投票:0回答:1

我有两个数据库。 其中只有一列将存储 fizic 位置,我已将其连接到下拉菜单。 第二个包含多列的所有产品,其中之一是位置。

我想为我的第一个表添加更新位置名称,更新后,第二个表中位于该位置的所有产品的位置名称也会更改。

不幸的是,我所尝试的只是创建一个新位置,而将旧位置保留在原处。 在第二张桌子上,什么也没有发生。

NameLabel 具有从之前的表单收到的当前位置名称。 文本框有我要更新的新名称。

private void Update_location_Click(object sender, EventArgs e)
{
    con.Open();
    string name = NameLabel.Text;

    SqlCommand dataAdapter = new SqlCommand("UPDATE dbLocation SET loc_name = @loc_name WHERE loc_name = '" + name + "'", con);

    dataAdapter.Parameters.AddWithValue("@loc_name", textbox_location.Text);
    dataAdapter.ExecuteNonQuery();

    SqlCommand dataAdapter2 = new SqlCommand("UPDATE DB_Main SET Location = @location WHERE Location = '" + name + "'", con);
    dataAdapter2.Parameters.AddWithValue("@location", textbox_location.Text);
    dataAdapter2.ExecuteNonQuery();

    con.Close();
    MessageBox.Show("Location updated!");
    this.Close();
}
c# database datatable datatables sql-update
1个回答
0
投票

有两件事。

  1. 更新条件应基于ID。

    更新 dbLocation SET loc_name = @loc_name WHERE loc_id = loc_id

  2. 第二个表应该只包含 ID 而不是位置名称,这样如果位置名称发生更改,它将自动反映在第二个表中(如果您使用了 join。)

© www.soinside.com 2019 - 2024. All rights reserved.