BodyaComUa |
Новичком себя не считаю:-) |
А я это и не утверждал. Я сказал, что для новичка - легче работать с параметрами. Пока разберешься как строку формировать, какие специальные символы, dateformat и т.д., то может охота учиться пропасть. А параметры: написал value = ... и ни чего знать (понимать) не надо.
BodyaComUa |
Рекомендую прочитать. Там банальный пример: string selectString = "SELECT * FROM Customers WHERE CustomerID = " + custID; custID = "1;DROP TABLE Customers" |
Пример, действительно, банальный.
Во-первых, если CustomerID - строка, то где кавычки, а если их поставить, то опять ничего военного. Если CustomerID - число, то что это за NumEdit такой, в который можно ввести "1;DROP TABLE Customers"?
Во-вторых, чтобы DROP выполнять надо нехилые права иметь:) Если всю работу с данными вести искл. через ХП (а так и надо), то у юзера в принципе ни на что кроме выполнения определенного круга ХП прав нет.
В-третьих, для win приложений пример вообще надуманый. Если я настолько умный, что про DROP знаю, и у меня есть на него права (мы же исходим из этого:)), то я поставлю себе QA или за 5 мин. сваяю прогу выполняющую произвольные запросы и из нее запущу этот же DROP. Разве что от пользователя скрыть реальный логин.