Gör inte dynamiska frågor genom att bygga strängar och köra dem.
Använd sp_executesql
och skicka parametrar som parametrar.
Du kommer att upptäcka att sql-injektion inte längre finns.
REDIGERA :förlåt, jag hade bråttom och skrev fel kommando. det är inte sp_execute, det är sp_executesql; det krävs en sträng och en uppsättning parametrar:all kodning och escape av parametrarna görs av SQL Server.
EDIT2 :förklaring av sp_executesql-sats