1. For executing INSERT, UPDATE & DELETE queries it's better to use ExecuteNonQuery() instead of ExecuteReader().
2. Your query is vulnerable to SQLInjection. Use parameterized query or stored procedure to prevent SQLInection.
3. You have set null value to a string variable and in your query you are appending that with pair of single quotes which will result in just a pair of single quotes and not 'null'. This should result in exception but if it is saving current date against it then only guess is make sure that you have not set a default value for this field in the database. (I am not sure why it is not throwing exception, which it should)
For now ignoring all the best practices suggestions, you can check by applying the following changes-
if (dateTimePicker1.Checked == true)
{
date ="'"+ this.dateTimePicker1.Value.ToString("dd-MM-yyyy") +"'";
}
else
{
date="NULL";
}
and
string Query = "INSERT into `"+ txt_table.Text+"` (ID,Date) values ('" + txt_stt.Text + "'," +date+ ");"
Note that I've removed the single quotes from around date.
Hope, it helps :)