基本的に、文字列を連結して SQL ステートメントを作成する場所、特にユーザー入力から来るものは脆弱です。
これを行う代わりに、SQL コマンド (SQLcmd
) の Parameters プロパティに追加できる SQL パラメーターを使用します。
パラメータの 1 つを使用した例を示します - SQLCommand テキストを次のように変更します:
INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)
どこで @pIDNo
SQLParameters コレクション
.
次に、この「プレースホルダー」と同じ名前のパラメーターと値を追加できます (提供された値から型が派生します)。
前の例を次に示します:
SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)