i Think this will be enough for as a solution to your problem
txtdate.text =format(now,"dd-MMM-yyyy")
as per your previous solution comment
your actual problem is you need to Send it as a varchar
you need to pass it as a datetime,
Command.parameters. Add("@date",SqlDbType.Datetime).Value=Convert.ToDateTime(txtname.Text)
if you have still problem To debug this code put a break point on the line you mention and see what value is set it in to the parameter