Я використовую 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 як базу даних.