Eigenlijk is overal waar u strings samenvoegt om uw SQL-instructie te maken, vooral die welke afkomstig is van gebruikersinvoer, kwetsbaar.
Gebruik in plaats hiervan SQL-parameters, die kunnen worden toegevoegd aan de eigenschap Parameters van uw SQL-opdracht (SQLcmd
hier).
Ik zal je een voorbeeld laten zien met een van je parameters - verander je SQLCommand-tekst in:
INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)
Waar @pIDNo
is een "placeholder" in de tekenreeks voor de parameterwaarde, die afzonderlijk wordt verzonden van de opdracht in de SQL-parameterverzameling
.
Vervolgens kunt u een parameter toevoegen met dezelfde naam als deze "placeholder", en de waarde (het zal het type afleiden van de waarde die voor u is opgegeven).
Hier is het voorbeeld van eerder:
SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)