一尘不染

SQL Server Compact Edition ISNULL(sth,'')是否返回布尔值?

sql

我有一个Accounts带有列name, password和的表格email。它们都是类型nvarchar。我写了一个查询

SELECT name, password, ISNULL(email, 'eeee') 
FROM Accounts 
WHERE name = '" + textBox1.Text + "' AND password ='" + textBox2.Text + "'"

我读了电子邮件作为reader.getString(2),因为它是nvarchar

正如我从互联网上看到的那样,如果email为NULL,那么它应该返回eeee。但是它说System.boolean不能翻译成System.String

我该如何纠正?为什么返回布尔值?


阅读 168

收藏
2021-03-10

共1个答案

一尘不染

据此, ISNULL不是在SQL Server CE中实现的。我希望看到出现语法错误。

解决方法:您可以使用CASE WHEN email IS NULL THEN 'eeee' ELSE email ENDCOALESCE。最好是后者。

还可以使用参数化查询。如果您不知道为什么要学习,请学习。

2021-03-10