【发布时间】:2017-10-19 07:22:10
【问题描述】:
这是我现在正在使用的代码,我没有收到任何错误,所以我无法确定它不工作的地方:
private void btnAdd_Click(object sender, EventArgs e)
{
string constring = $"Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=" +
Directory.GetCurrentDirectory().ToString() + "\\BarcodeDB.mdf;Integrated Security=True";
string query =
"INSERT INTO Products (Barcodes, Name, EDate, Quantity, Price) VALUES (@barcodeValue, @nameValue, @dateValue, @quantityValue, @priceValue) ;";
SqlConnection conDataBase = new SqlConnection(constring);
conDataBase.Open();
using (var cmd = new SqlCommand(query, conDataBase))
{
cmd.Parameters.AddWithValue("@barcodeValue", tbxBar.Text);
cmd.Parameters.AddWithValue("@nameValue", tbxName.Text);
cmd.Parameters.AddWithValue("@dateValue", dateDate.Value.Date);
cmd.Parameters.AddWithValue("@quantityeValue", tbxQua.Text);
cmd.Parameters.AddWithValue("@priceValue", tbxPrice.Text);
}
conDataBase.Close();
}
代码可能只是构建错误,或者我可能遗漏了一些我不确定的部分。
我发现什么不起作用,是连接字符串。因此,为此提出一个新问题。
我要做的就是打开连接,然后执行命令
【问题讨论】:
-
你的代码没有运行命令!
-
在执行
cmd.ExecuteNonQuery()时,参数化查询可最大限度地减少 SQL 注入 - 当在查询字符串中使用连接值时,通常会发生注入。你到底想做什么? -
尝试执行你的命令,也许会发生什么?
-
你可以很好地形成命令,但永远不要执行它。
-
为什么这个问题被标记为sql注入?
标签: c# sql sqlparameter