Если IsActivated
является каким-либо логическим значением, допустимо ли 'yeh'
? Я хотел бы начать с построения команды SQL в строковую переменную и распечатать ее. Что-то идет не так во всей конкатенации. Вывод строки SQL перед передачей в объект команды должен сделать ошибку очевидной.
Я не эксперт по C #, но разве нет лучшего способа взять список строк, заключить их в кавычки и объединить результат, используя ",
" в качестве разделителя? Что-то вроде следующего фрагмента Python делает построение строк SQL намного менее подверженным ошибкам:
>>> s = str.join(', ', ("'{0}'".format(x) for x in ['bob', 'alex', 'guido']) )
>>> print s
'bob', 'alex', 'guido'
Опять же, вам бесконечно лучше позволить кому-то другому создавать SQL, чтобы избежать небольших затруднений, вызванных SQL-инъекцией.