Merhaba arkadaşlar, bu yazımda C# form ile kayıt formu oluşturmayı ve önceki yazımdan farklı olarak yeni nesneler de kullanacağım.
Tasarım
Tasarım da textbox, label, button, groupbox, maskedtextbox, radiobutton, richtextbox kullandım. Standart kayıt formunda isim, soyisim, telefon, T.C Kimlik numarası, Adres ve yaş olur. Ben yaşı unuttum ama onu da basit bir şekilde yapabilirsiniz.
Kullanımına geldiğimizde ise; maskedTextbox bize kimlik numarası, telefon numarası, doğum tarihi gibi veri girişlerinde ya da girilecek verinin belirli bir tipi varsa ona göre düzen yapmamızı sağlıyor. Aşağıdaki görselde hepsini görebilirsiniz.
Bunun haricinde en altta yer alan Custom ile kendi tipinizi oluşturabilirsiniz. Örnek Kimlik Numarası. Kaç hane ise o kadar 0’a basıp hemen altında preview kısmında ön izleme yapabilirsiniz.
richTextbox’ı normal textbox gibi görebilirsiniz. Sadece daha fazla alan sağlamaktadır. Radiobutton’da sadece bir seçim yapabilir olunan durumlarda kullanılır. Cinsiyet için radiobutton çok kullanılmaktadır. Groupbox da gruplama amacıyla kullanılır. Eğer başka bir radiobutton kullanacak olsaydık birbirine karışacaktı.
Veritabanı Bağlantısı
Buraya kadar her şey güzel tasarım tamam. Normalde Veritabanı eklemesi yapmayacaktım fakat birçok kişi kayıtları görmek isteyecektir. Bunun için MSSQL’de “kullanicilar” adında bir database ve “kullanicilar” diye bir tablo oluşturdum.
Bunu Visual Studio’da görmek ve bağlantı yolu eklemek gerektiği için aşağıdaki yolu takip edebilirsiniz.
Üst menüden Project –> Add New Data Source –> Database –> Dataset gelen sayfadan new Connection deyip devam ediniz.
Aşağıdaki gibi bir sayfa açılacaktır.
Buradan Server name kısmına bilgisayar adını giriniz. Aşağıdaki Connect to a database kısmından da kullanmak istediğiniz database’i seçebilirsiniz. OK butonuna bastığınızda size bağlantı yolunu verecektir bunu kopyalayınız.
Yukarıdaki kodu kopyaladıktan sonra cancel deyip çıkış yapabilirsiniz. Artık kod tarafına geçebiliriz.
Kod
Burada ilk önce bağlanti eklemek olacak işimiz.
SqlConnection baglanti = new SqlConnection("Baglanti_Yolunu_Buraya_Giriniz");
Daha sonra tasarımını yaptığımız formdaki Kaydet butonuna iki kere tıklayıp kod tarafına geçiyoruz.
Veritabanı hakkında bilginiz yoksa bakınız.
Cinsiyeti veritabanında bit tipi ile tuttuğumuz için öncelikle cinsiyet’i bool tipine çevirmek gerekiyor. Daha sonra da Veritabanında ekleme komutu olan INSERT‘ü string içinde yazarak ekliyoruz. Tüm kodlar aşağıdaki görsellerde mevcuttur.
[the_ad id=”1292″]
Burada önemli olan kısım ise veritabanı ile isimlerin birebir uyuşması ve parametrelerin adlandırılması sırasında hata yapılmaması.
using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.Sql; using System.Data.SqlClient; namespace kayıtFormu_vs2019 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SqlConnection baglanti = new SqlConnection("Data Source=DESKTOP-ATHREF5;Initial Catalog=kullanicilar;Integrated Security=True"); private void Button1_Click(object sender, EventArgs e) { bool cinsiyet = false; if (rdbErkek.Checked == true) { cinsiyet = true; } else if (rdbKadin.Checked == true) { cinsiyet = false; } else { cinsiyet = false; } string ekle = "INSERT INTO kullanicilar(isim,soyisim,telefon,tc,adres,cinsiyet) values (@isim," + " @soyisim, @telefon, @tc, @adres, @cinsiyet)"; SqlCommand komut = new SqlCommand(); komut = new SqlCommand(ekle, baglanti); baglanti.Open(); komut.Connection = baglanti; komut.Parameters.AddWithValue("@isim", txtIsim.Text); komut.Parameters.AddWithValue("@soyisim", txtSoyisim.Text); komut.Parameters.AddWithValue("@telefon", mskTelefon.Text); komut.Parameters.AddWithValue("@tc", mskTc.Text); komut.Parameters.AddWithValue("@adres", rchAdres.Text); komut.Parameters.AddWithValue("@cinsiyet",cinsiyet); komut.ExecuteNonQuery(); baglanti.Close(); } } }
Çalışır Hali
Kodlamalarda hatanız yoksa artık çalıştırabilirsiniz. Çalıştırıp içeriği dolduruyorum.
Kaydet tuşuna bastıktan sonra…
Bu yazımda basit bir kayıt formu oluşturdum. Umarım faydalı olmuştur.