1- SQL cümlesi için parametre kullanmıyorsun.
2- DB nesnelerini dispose etmiyorsun üzerine birde statik baglanti kullaniyorsun.
3- sql connection cümlesini form uygulamasınının içerisine yazdın gibi gördüm.
4- Internet connection'ını test etmek için google'a kocaman bir tcp socketi bağlamak yerine, ping isteği atmak daha lightweight olurdu.
5- Akış kontrollerinde(if-else) zaten bool bir değişkenin true ya da false'a eşit olmasına bakman gerekmez, sonuçta zaten bool 🙂 if (kontrol==true) yerine if(kontrol) gibi...
6- Convert.ToInt() yerine int.Parse() daha efektif olabilir.
Umarım bu yorumu ofansif olarak algılamazsın çünkü öyle bir niyetle yazmadım. Yaptığın hataların bazıları çok ciddi, eğer form uygulamasını dağıtmak amaçlı yazıyorsan hiç programlama bilgisi olmayan biri bile o kodu basitçe kırıp herşeyi okur sonra veritabanına elveda. Sql parametre konusuna denecek birşey yok zaten. Son olarak bazı programlama dillerinde db bağlantı nesnesinin saklamak kötü bir şey değildir buna örnek olarak Go verilebilir ancak .NET dilleri(C#,Vb.net) için bu geçerli değil.