在我的程序中,我希望用户可以选择更改我创建的本地数据库中的值(在我的示例中为价格)。如何更新本地SQL Server数据库中的值
我遇到问题了。连接工作正常,调试良好,甚至显示“保存好”的消息,但在数据库中根本不会改变。
private void button2_Click(object sender, EventArgs e)
{
var con = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\sam\Desktop\hello\hello\DB.mdf;Integrated Security=True";
using (SqlConnection myconnection = new SqlConnection(con))
{
try
{
myconnection.Open();
var query = string.Format("update DBTable set price='"+textBox2.Text+"' where ParamToCheck='"+comboBox5.Text+"'");
SqlCommand cm = new SqlCommand(query, myconnection);
cm.ExecuteNonQuery();
MessageBox.Show("saved ok !!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
用户可以选择从combobox5
一个字符串,并输入数量从textBox2
改变他的价格 - 这就是我想要的 - 但它不会改变。
查询是否可以在SSMS中直接运行? – ChrisF
你的表/列名是真的'DBTable'和'ParamToCheck'吗? 此外:如果价格不是varchar/nvarchar,则将值放在引号中是没有意义的。 – Marco
ExecuteNonQuery返回查询更新的行数。你的消息框“保存好”并没有告诉你事实。用_int rowsUpdated = cm.ExecuteNonQuery(); _检查并查看rowsUpdated的值。 – Steve