问题
I have an Accounts
table with columns name, password
and email
. They are all type nvarchar
.
I wrote a query like
SELECT name, password, ISNULL(email, 'eeee')
FROM Accounts
WHERE name = '" + textBox1.Text + "' AND password ='" + textBox2.Text + "'"
I read the email as reader.getString(2)
since it is nvarchar
.
As I read from the internet, if email
is NULL, then it should return eeee
. But it says System.boolean
can not be translated to System.String
.
How can I correct this? Why does it return a boolean value?
回答1:
According this this ISNULL
is not implemented in SQL Server CE. I would expect to see a syntax error raised, however.
Workaround: you can use CASE WHEN email IS NULL THEN 'eeee' ELSE email END
or COALESCE. Preferably the latter.
Also use parameterised queries. If you don't know why you should, learn.
来源:https://stackoverflow.com/questions/5890970/sql-server-compact-edition-isnullsth-returns-a-boolean-value