FieldByName est-il sûr pour l'injection?

Je parle de Delphi + ADO + MSSQL. D'accord, je sais que les requêtes avec des parameters sont relativement sûres contre les injections SQL. D'un autre côté, les requêtes dynamics ne sont pas sûres. Mais qu'en est-il des methods classiques FieldByName? Puis-je atsortingbuer en toute security à FieldByName une valeur de string ABSOLUMENT, sans risquer d'avoir une injection?

C'est sûr. Ado utilise des parameters pour Update / Insert / Delete.

Vous pouvez tracer cela avec SQLProfile, par exemple

 exec sp_executesql N'UPDATE "test".."Activity" SET "data"=@P1 WHERE "InvokeTime"=@P2 AND "data"=@P3',N'@P1 float,@P2 datetime,@P3 float',1,'2013-04-24 10:46:22.933',0,48607825089780715 exec sp_executesql N'INSERT INTO "test".."Activity" ("InvokeTime","data") VALUES (@P1,@P2)',N'@P1 datetime,@P2 float','2000-01-01 00:00:00',2 exec sp_executesql N'DELETE FROM "test".."Activity" WHERE "InvokeTime"=@P1 AND "data"=@P2',N'@P1 datetime,@P2 float','2000-01-01 00:00:00',3