5 c# sql-server type-conversion sqldatatypes
我有一个数据类型的 C# 属性,bool当它被设置时,它变成了一个True或False.
但是我需要它与类型的 SQL Server 表列匹配,bit以便将其保存为 1 或 0。
SQL Server 列:
StormOut bit
Run Code Online (Sandbox Code Playgroud)
C# 属性
public bool StormOut { get; set; }
Run Code Online (Sandbox Code Playgroud)
C# SQL 语句:
string querystring = "UPDATE tblSignOnOff SET StormOut = " + storm.StormOut + " WHERE id = 1902";
Run Code Online (Sandbox Code Playgroud)
否则当前 C# 中的 SQL 语句是
UPDATE tblSignOnOff
SET StormOut = True
WHERE id = 1902
Run Code Online (Sandbox Code Playgroud)
这导致错误:
无效的列名“真”。
你错过了单引号。像这样改变:
string querystring = "UPDATE tblSignOnOff SET StormOut = '" + storm.StormOut + "' WHERE id = 1902";
Run Code Online (Sandbox Code Playgroud)
但一个重要的注意事项:您应该始终使用parameterized queries如下所示。这种字符串连接适用于SQL Injection:
string querystring = "UPDATE tblSignOnOff SET StormOut = @StormOut WHERE id = @id";
yourCommand.Parameters.AddWithValue("@id", 1902);
yourCommand.Parameters.AddWithValue("@StormOut", storm.StormOut);
Run Code Online (Sandbox Code Playgroud)