So check the user input before you try passing it through to SQL. This has a number of advantages.
1) You can check the number using the user's preferred input format: mm/dd/yyyy or dd/mm/yyyy for example.
2) You can tell the user exactly what he did wrong and let him correct it before you enter corrupt data to yoru DB.
3) Your user can't delete your database by typing in the text box. Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
So check it (basic version, doesn't use user locale):
DateTime dt;
if (!DateTime.TryParse(txtIssue.Text, out dt))
{
...
return;
}
...
SqlCommand cmd = new SqlCommand("INSERT INTO tbl_issue (issue_date) VALUES (@DT)", con);
cmd.Parameters.AddWithValue("@DT", dt);
...