дело о sql в asp.net - PullRequest
       22

дело о sql в asp.net

0 голосов
/ 15 ноября 2009

Я хочу использовать регистр SQL:

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);

Но это не работает ... может быть, синтаксис неправильный? Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 15 ноября 2009

Кажется, проблема в используемой переменной 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 голосов
/ 15 ноября 2009

Переменная SQL ans нигде не объявлена ​​в вашем операторе SQL. Откуда это взялось? Sql или ваше приложение ASP.NET?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...