2つの問題があります。SQL NULL では、NULL でさえ、何にも等しくありません。すなわちNULL = NULL
偽です。そこで最初の問題はWHERE ColumnName = NULL
次に、SQL は有効な構文ではありません。を使用する場合は where 句を指定できません。またはINSERT .. VALUES
を使用する必要があります。例えばSELECT .. WHERE
IF.. ELSE
INSERT INTO table ([Tag ID])
SELECT TOP 1 @PhoneNumber
FROM YourTable
WHERE YourColumn IS NULL
また
IF EXISTS (SELECT 1 FROM YourTable WHERE YourColumn IS NULL)
BEGIN
INSERT Table ([tAG id]) VALUES(@PhoneNumber)
END
これらの例の両方に、存在するYourTable
テーブルがありますYourColumn
。
最後に、可能であれば、SQL ステートメントを作成するために文字列の連結を避けます。
string sql = // One of the queries above
cmd.CommandText = sql
cmd.Parameters.Add("@PhoneNumber", SqlDbType.Varchar).Value = textBox.Text;
cmd.ExecuteNonQuery();