Sadece gönderdiğin koda bakarak hatayı bulmak mümkün değil, veritabanı ve textboxlara girdiğin değerleri de bilmek lazım.
veritabanındaki kolonların veri tipi ile sql cümlesinde gönderdiğin değerler uyuşmuyor olabilir. Tarih tipinden kolonun varsa oraya uygun olmayan bir format ta değer gönderiyor olabilirsin.
Şöyle yapabilirsin :
ExecuteNonQuery satırına breakpoint koyup programını çalıştır. Oluşan sql cümleni copy paste ile direk veritabanında çalıştır, muhtemelen aynı hatayı tekrar alacaksın. Sonra hata almayana kadar set ettiğin her alanı geçici olarak silip, hangi alandan dolayı o hatayı aldığını bul. Sonra o alanın tipini ve gönderdiğin değeri kontrol et.