I'm having an issue with duplicates being inserted on refresh. Our team here decided using 'if exists' in sql is the best way to stop duplicate inserts. However, what if a parameter is set to null?
string cmdText = " if (not exists(select * from table where field1 = @field1 and field2 = @field2 and field3 = @field3)) Insert into table(field1,field2,field3) Values(@field1,@field2,@field3)";
if (txtfield1.text != "")
cmd.Parameters.Add(new SqlParameter("@field1", txtfield1.text));
else
cmd.Parameters.Add(new SqlParameter("@ field1", DBNull.Value));
cmd.Parameters.Add(new SqlParameter("@field2", txtfield2));
cmd.Parameters.Add(new SqlParameter("@field3", txtfield3));
This does not work when there is a null value in field1.