我有一个本地 MS SQL 数据库,我想更新其中一个位字段。 我有以下代码:
static void UpgradeVevo(string nev)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("UPDATE Vevok SET Torzsvendeg=True Where Nev=" + nev, connection);
command.ExecuteNonQuery();
}
Console.WriteLine(nev+" mostmár törzsvendég");
}
Torzsvendeg 是一种位数据类型(我也尝试将其值设置为 1),而 Nev 是 varchar。
connectionstring 应该没问题,因为我已经在另一种方法中尝试了 Select,它工作正常。上面的代码没有抛出异常,但是表没有得到更新。
我已经尝试了很长一段时间来寻找答案,但没有成功:/。提前感谢您的帮助!
最佳答案
True
应该在单引号中,因为它是一个字符串文字,例如
UPDATE Vevok SET Torzsvendeg='True'
兄弟,你的引号搞砸了。您的查询应该类似于
"UPDATE Vevok SET Torzsvendeg = 1 Where Nev = '" + nev + "'"
同样,使用参数化查询而不是这个串联查询以避免 SQL 注入(inject)
关于C# MS SQL 更新语句不更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43946621/