我的PowerShell脚本中出现以下错误:
使用“0”参数调用“ExecuteNonQuery”的异常:“无效的列名'False'。
and its
作为声明的一部分,我在输入“False,False”的地方显然做错了。我尝试了所有大写字母,小写字母,0和1,没有任何作用。当我使用Write-Host $ sql将它写入powershell命令窗口时,它看起来很好。
答案 0 :(得分:2)
Sql Server(与大多数其他数据库一样)没有真正的布尔类型。没有False
。它的bit
类型的值为0
(false)和1
(true)。我还看到char(1)
(即:'Y'
和'N'
)和DateTime类型(其中NULL
为false,其他任何值都是该字段的日期变得真实)用作流行的替代品。
虽然我在这里,但这段代码看起来很吓人。 Sql Injection是一个真实的东西,它是一个大问题。甚至是一些良好的数据,例如一些姓氏" O' Brien"可以大大抛弃这个查询。你需要研究parameterized queries。至少,查看查询文本,我怀疑$migrationdate
值需要单引号。