Your C# code is a candidate for
SQL Injection. You should
NEVER EVER
put together an SQL Command by concatenating command text with user input.
What you should be doing is using parameters for this, which will give you something like this
string qry = "INSERT INTO TblStock1 VALUES (@txt1, @txt2, @dt1, @tx3, @cb1)";
SqlCommand = new SqlCommand(qry, connectionstring);
cmd.Parameters.AddWithValue("@txt1", textBox1.Text);
cmd.Paramaters.AddWithValue("@txt2", textBox2.Text);
cmd.Paramaters.AddWithValue("@txt3", textBox3.Text);
cmd.Paramaters.AddWithValue("@cb1", comboBox1.Text);
Now onto your problem with the conversion...
Leave DateTime values as DateTime; they are numerical in nature and the only time formatting comes into play is when you are showing it to an end-user.
So the commented out line above should just be replaced with
cmd.Paramaters.AddWithValue("@dt1", dateTimePicker1.Value );