[英].ExecuteNonQuerry() error in SQLlite using C#
searching in google, and in many posts here, but still I have not been able to find a solution for my program. 在google和此处的许多帖子中进行搜索,但仍然无法为我的程序找到解决方案。 so the code:
所以代码:
var str1 = flatComboBox1.SelectedItem.ToString();
var str2 = flatNumeric2.Value.ToString();
var str3 = flatTextBox4.Text.ToString();
var str4 = flatTextBox7.Text = ToString();
SQLiteCommand SelectCommand = new SQLiteCommand("UPDATE Produkte SET Emri='"+ str1 +"', Sasia='" + str2 + "',Cmimi ='" + str3 + "', CmimiB='" +str4+"' WHERE Emri='" + str1 + "'");
try
{
connectionstring.Open();
SelectCommand.ExecuteNonQuery(); // <--- Line 65 and the error
connectionstring.Close();
}
catch (Exception ex) {
MessageBox.Show(ex.ToString());
}
This is the error I get. 这是我得到的错误。
how to fix this? 如何解决这个问题? I've tried many things over the time, and still looks like nothing can fix it.
一段时间以来,我尝试了很多事情,但看起来仍然无法解决。
You might want to try to use a parameterized statement to avoid possible issues with apostrophes in C# string variables when they become part of the SQL query. 您可能想尝试使用参数化语句,以避免当C#字符串变量成为SQL查询的一部分时,撇号可能引起的问题。
For example: 例如:
SQLiteCommand SelectCommand = new SQLiteCommand("UPDATE Produkte SET Emri = @Emri, Sasia= @Sasia, Cmimi = @Cmimi, CmimiB = @CmimiB WHERE Emri = @Emri");
SelectCommand.Parameters.AddWithValue("@Emri", str1);
SelectCommand.Parameters.AddWithValue("@Sasia", str2);
Or you can do: 或者,您可以执行以下操作:
SelectCommand.Parameters.Add(new SQLiteParameter("@Emri", str1));
And so on, for all parameters. 对于所有参数,依此类推。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.