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

时间:2011-05-04 23:18:33

标签: sql sql-server sql-server-ce

我有一个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

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

1 个答案:

答案 0 :(得分:15)

根据此this ISNULL未在SQL Server CE中实现。不过,我希望看到语法错误。

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

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