a quick look and it 'seems' ok, with this exception
cmd.Parameters.AddWithValue("@B_dateDateTimePicker", B_dateDateTimePicker)
I don't know what data type the b_date column in the database is, but Im also tempted to suggest that you should be doing something like
cmd.Parameters.AddWithValue("@B_dateDateTimePicker", B_dateDateTimePicker.Value)
depending on the data type for the b_date column, you'd need the result (.Value) to be in the correct format for the database - Im thinking you might also need to do a .ToString() on that value
my suggestion would be, if its possible, to print out/dump the exact SQL that's been formed, right before the
cmd.ExecuteNonQuery();
statement and see if it looks ok
if none of this works you'll have to wait and see if OG is awake or anyone else has any ideas