Я использую API, который ожидает строку SQL. Я беру ввод пользователя, убегаю и передаю его в API. Вход пользователя довольно прост. Он запрашивает значения столбцов. Например:
string name = userInput.Value;
Затем я создаю SQL-запрос:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
name.replace("'", "''"));
Насколько это достаточно безопасно? Если это не так, существует ли простая функция библиотеки, которая делает безопасные значения столбца:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
SqlSafeColumnValue(name));
API использует SQLServer в качестве базы данных.