0

我只想按 ID 更新表中的一列。

我没有任何错误,但这不起作用,它不会更新。我有 ID 列和另外 7 个列。

SqlCommand cmd1 = new SqlCommand("update table set amount=@kol where ID=@id" , con);
cmd1.Parameters.AddWithValue("@id", textbox1.Text);
cmd1.Parameters.AddWithValue("@kol", textbox2.Text );
4

3 回答 3

0

你能检查一下你是否已经提交了你的工作,如果没有例外,那就是原因

如果不放 setautocommit(true) - java 版本

你可以在 c# 中找到它

请检查表名是否正确以及您正在验证的表是否正确

请给出一些其他表名而不是表名以获得良好实践

于 2013-07-20T10:34:00.780 回答
0

您的表是名为“table”还是仅用于此处的示例?

因为否则您需要将“表格”更改为您要更新的任何表格。或者如果它实际上被称为“表”,则用 [] 将其包围

于 2013-07-20T10:32:20.880 回答
0

只要您有 con.Open 和 ExecuteNonQuery 并拥有正确的用户名/密码和连接字符串,您的代码就可以工作。

这将在您更改连接字符串后起作用,如果不是问题是 sql server。

private void UpdateTable()
            {
                SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=YourDataBase;Persist Security Info=True;User ID=username;Password=pass");
                SqlCommand cmd1 = new SqlCommand("update YourTable set amount=@kol where ID=@id", con);
                cmd1.Parameters.AddWithValue("@id", textBox1.Text);
                cmd1.Parameters.AddWithValue("@kol", textBox2.Text);
                con.Open();
                cmd1.ExecuteNonQuery();
            }
于 2013-07-20T11:06:48.657 回答