2009-11-15 90 views
-1

我想用SQL的情况下,结构:情况下consrtuct

CASE WHEN ans='A' THEN 1 ELSE 0 END 

(其中ans在ASP.NET中声明的字符串)中插入查询,如:

SqlCommand AnsCmd = new SqlCommand("insert into answers(ans_desc,istrue)values('" + ans1_desc + "',CASE WHEN ans='A' THEN 1 ELSE 0 END)", conn); 

但它不工作......也许语法错了?请帮忙。

+0

什么是抛出的异常? – 2009-11-15 15:14:02

+0

实际上并没有例外...成功返回,但没有任何东西插入表中 – anay 2009-11-15 15:18:06

回答

2

看来问题在于你使用的ans变量。在CASE语句中使用它之前,应该在查询中声明它。

DECLARE @ans varchar(1); 
SET @ans = 'A'; 
INSERT INTO answers(ans_desc,istrue) 
VALUES('answer desc',CASE WHEN @ans='A' THEN 1 ELSE 0 END); 
0

SQL变量ans在你的SQL语句中是无处宣告的。 它来自哪里? Sql或你的ASP.NET应用程序?