c# - 如何使用更新语句(C# sqlcommand)将 NCHAR 设置为空

标签 c# sql sql-server sqlcommand

我想知道如何使用更新语句将 nchar 列设置为空。我发现了这个:NULL value for int in Update statement

这表示您必须进行强制转换才能将非整数字段设置为 NULL

所以我尝试了以下方法:

commandText = 
  @"UPDATE Brukere 
      SET Engangskode = CAST(NULL AS NCHAR) 
    WHERE Navn = @navn AND Mobilnr = @mobilnr";

但是,当我执行此操作时,它仍然不会将列更新为 NULL。我投错了,还是别的什么?任何帮助将不胜感激:)

如果需要更长的代码片段:http://pastebin.com/8auKuk6Q

最佳答案

问题是您将局部变量 commandText 设置为更新语句而不是 command.CommandText。改成如下

command.CommandText = "UPDATE Brukere SET Engangskode=NULL WHERE Navn=@navn AND Mobilnr=@mobilnr";

而且我认为无论是否进行转换,它都可以工作。

关于c# - 如何使用更新语句(C# sqlcommand)将 NCHAR 设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32401494/

相关文章:

c# - excel 文件托管在 Azure Blob 上,如何将其读入 FileStream?

sql - Oracle中的 "NUMBER"和 "NUMBER(*,0)"是否相同?

c# - 在更新到数据库之前编辑 DataTable 中的行

mysql - 选择 sql 中的查询并在每一行上进行测试

c# - 如何将 Powershell 转换为 C#

c# - 如何在微服务分布式环境中创建一个简短易读的 UUID

mysql - 如何在 MySQL 中为每个用户选择最多 3 个项目?

sql - 内置 MAX 函数只返回一个整数

在查询中使用 EXCEPT 时出现 SQL Server 性能问题

c# - 为什么 DBSet.Find 越来越慢?