If we use Command Paramenters the first thing we make is:
SqlCommand.CommandText = "DELETE table WHERE field1 = @param1";
SqlCommand.Parameters.Add(new SqlParameter("@param1", DBNull.Value)
Your problem is that you cannot use the '=' operator in SQL for null value.
Instead, you need to generate different SQL for this case.
See the following example:
public void DeleteYourRecord(SqlConnection con, string param1, string param2, string param3)
{
SqlCommand
com = new SqlCommand();
com.Connection = con;
com.Connection = con;
com.CommandText = "DELETE
table" +
"WHERE field1 = @param1 AND
field2 = @param2 ";
com.Parameters.Add(new SqlParameter("@param1", param1));
com.Parameters.Add(new SqlParameter("@param2", param2));
if
(param3.Trim() == "")
{
com.CommandText += " AND field3 is null";
}
else
{
com.CommandText += " AND field3 = @param3";
com.Parameters.Add(new SqlParameter("@param3", param3));
}
com.ExecuteNonQuery();
}
My Two Cents...
My Two Cents...