【发布时间】:2020-06-03 13:11:04
【问题描述】:
我正在尝试使用 where 子句更新列值,但它会触发错误
"必须声明标量变量"@datestring"
我的申请中有问题的部分是这样的:
private void button2_Click(object sender, EventArgs e)
{
string value = "";
string connetionString = "Data Source=LENOVO-PC\\CDVI_CENTAUR;Integrated Security=True";
string sql = null;
value = listBox1.GetItemText(listBox1.SelectedItem);
var datestring = dateTimePicker1.Value.ToString("dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
var FirstName = value.Split(' ')[0];
var LastName = value.Split(' ')[1];
using (System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(connetionString))
{
try
{
cnn.Open();
using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("UPDATE [Centaur3Main].[dbo].[Users] SET [UDText12b] = @datestring WHERE FirstName = @FirstName and LastName = @LastName ", cnn))
{
// Create and set the parameters values
cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar).Value = FirstName;
cmd.Parameters.Add("@LastName", SqlDbType.NVarChar).Value = LastName;
cmd.ExecuteNonQuery();
}
}
}
datestring 的值来自 datetimepicker,它有一个值。所以我不明白如何解决这个错误。` 你能帮我么。我知道这是一个新手引起的错误,但我无法弄清楚。 /顺便说一句,我还是个大三学生/。从互联网上尝试了不同的东西和解决方案,但仍然无法找到解决方案。 你能给我一个关于我的问题的解决方案吗?
【问题讨论】:
标签: c# sql sql-server winforms