По принцип навсякъде, където свързвате низове заедно, за да създадете своя SQL израз, особено това, което идва от потребителско въвеждане, е уязвимо.
Вместо да правите това, използвайте SQL параметри, които могат да бъдат добавени към свойството Parameters на вашата SQL команда (SQLcmd
тук).
Ще ви покажа пример с един от вашите параметри - променете текста на SQLCommand на:
INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)
Където @pIDNo
е "заместител" в низа за стойността на параметъра, който се изпраща отделно от командата в Колекция SQLParameters
.
След това можете да добавите параметър със същото име като този "заместител" и стойността (той ще извлече типа от предоставената ви стойност).
Ето примера от по-рано:
SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)