Здесь есть несколько вещей, к которым можно обратиться / просмотреть
Вы можете сделать многострочные строки более читабельными в C #, добавив к ним префикс @:
string sql = @"SELECT *
FROM table
WHERE field = value";
Это останавливает "новую строку в константе""ошибка, а также выполнение нескольких других вещей, не требующих \ обратной косой черты.Так как теперь в перемешивании разрешено содержать символы новой строки, вам не нужно останавливаться и начинать его с "+" "+" "все время, так что это не выглядит грязно.Он отключает такие вещи, как возможность использовать \ n для новой строки, потому что \ просто обрабатывается как обычный символ.Таким образом, он делает пути к Windows более чистыми для ввода (@ "C: \ temp" против "C: \ temp". SQL не заботится о пробелах, поэтому делайте отступы в C #, однако вам нравится
Тем не менее, вы 'Лучше было бы поместить строки SQL в файл ресурсов / настроек или даже использовать всю библиотеку ресурсов и использовать библиотеку доступа к данным, такую как структура сущностей, так что вы вообще не пишете SQL в строках
Всегда параметризуйтеваши заявления. Если вы не собираетесь использовать EF или аналогичный (который будет параметризироваться для вас), вам, безусловно, следует по крайней мере использовать:
string sql = @"SELECT * FROM players WHERE username = @u and password = @p";
Позже, установите значения параметров в SqlCommand (илив любом случае), так что @u имеет значение «Anthony», а @p - «пароль Энтони». Никогда, никогда не создавайте строки SQL, объединяя их вместе, как вы сделали здесь - это не только риск ошибки, как только кто-то используетАпостроф, это угроза безопасности. См. http://bobby -tables.com для получения дополнительной информации
Большинство поставщиков баз данных используют апостроф 'для начала и окончания строки, а не двойные кавычки ".MySQL может быть исключением, но старайтесь следовать соглашению, а не изучать собственные синтаксисы SQL.SQL не похож на javascript, где «и» означают «строка», а вы «используете тот, который позволяет иметь значения, содержащие другое», например "Antony's password"
или 'she said "yes" already'
В SQLесли вы хотите поместить апостроф в строку, вы обычно удваиваете его: WHERE password = 'Anthony''s password'
, но если вы используете параметры (всегда используйте параметры), вам не нужно делать это