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

Ada*_*Ada 5 sql sql-server sql-server-ce

我有一个Accounts与列的表name, passwordemail.他们都是类型nvarchar.我写了一个类似的查询

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

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

当我从互联网上读取时,如果email是NULL,那么它应该返回eeee.但它说System.boolean不能翻译成System.String.

我怎么能纠正这个?为什么它返回一个布尔值?

ta.*_*.is 15

根据这个 ISNULL没有在SQL Server CE实现.但是,我希望看到引发语法错误.

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

还使用参数化查询.如果你不知道为什么要这样做,那就学习吧.