我有一个Accounts带有列name, password和的表格email。它们都是类型nvarchar。我写了一个查询
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。
reader.getString(2)
正如我从互联网上看到的那样,如果email为NULL,那么它应该返回eeee。但是它说System.boolean不能翻译成System.String。
eeee
System.boolean
System.String
我该如何纠正?为什么返回布尔值?
据此,这 ISNULL不是在SQL Server CE中实现的。我希望看到出现语法错误。
ISNULL
解决方法:您可以使用CASE WHEN email IS NULL THEN 'eeee' ELSE email END或COALESCE。最好是后者。
CASE WHEN email IS NULL THEN 'eeee' ELSE email END
COALESCE
还可以使用参数化查询。如果您不知道为什么要学习,请学习。