2009-11-15 128 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應用程序?