[英]SQL Server database is not updating C#
我是数据库编程和C#的新手。 我正在使用SQL服务器数据库并将其连接到我的winforms应用程序。 一切都很好,我可以添加新行,并从数据库中读取信息但是当我尝试编辑值时,它似乎不起作用。
这是我正在使用的代码。
private void btneUpdate_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"
Data Source = localhost;
Initial Catalog = BookStore;
Integrated Security = True;");
SqlCommand cmd;
if(MessageBox.Show("You are about to save the changes. You won't be able to undo those changes.", "Update fields", MessageBoxButtons.OKCancel) == DialogResult.Yes)
{
con.Open();
cmd = new SqlCommand(@"UPDATE Book
SET BookTitle = '"+ txteTitle.Text
+"', BookAuthorLname = '"+txteAuthorLname.Text
+"', BookAuthorFname = '"+txteAuthorFname.Text
+"', BookPrice = '"+ Convert.ToDecimal(eprice)
+"', BookDescription = '"+txteDesc.Text
+"', DatePublication = '"+dtpePublished.Value.Date
+"', BookStock = '"+ Convert.ToInt32(estock)
+"', isFiction = '"+ checkboxbool
+"', BookCategory = '"+ cmbeCategory.SelectedValue
+"' WHERE ISBN = '"+ txteISBN.Text +"';", con);
cmd.ExecuteNonQuery();
con.Close();
}
BindEdit();
BindGrid();
}
你的这一部分是错误的
..... MessageBoxButtons.OKCancel) == DialogResult.Yes)
你应该检查DialogResult.OK
否则你永远不会输入更新代码
..... MessageBoxButtons.OKCancel) == DialogResult.OK)
说,请停下来,花点时间学习如何创建参数化查询 。 这些是编写与数据库交互的代码的唯一正确方法。 字符串连接实际上是一种不好的做法,并导致Sql Injection攻击
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.