У меня есть некоторый код, который использует метод ExecuteStmt на объекте Axapta при использовании Business Connector, например, так:Axapta.ExecuteStmt - Это безопасно?
AxaptaRecord record = (AxaptaRecord)ax.CreateAxaptaRecord("SalesTable");
record.ExecuteStmt("select * from %1 where %1.SalesId == '" + id + "'");
while (record.Found)
{
// do stuff
}
Это прекрасно работает, но это будет на сайте общественного облицовочного, так это хороший способ доступа к данным и защищен ли он от SQL Injection? Поскольку я читал, что этот оператор будет использовать ключевое слово «forcePlaceholders», которое будет параметризовать запрос, поскольку он не содержит соединение?
Также посмотрите на ответ: http://stackoverflow.com/a/876547/4509 –
Откуда приходит идентификатор? Возможно ли, что я могу изменить его на ''; DROP TABLE Студенты; - '? –