VB.NET'TE VERİTABANINA KAYIT EKLEME İŞLEMİ

Merhaba arkadaşlar bugün size veritabanına ekleme (insert) işlemini göstereceğim. Veritabanının nasıl bağlanacağı, hangi komutun nerede kullanılacağı ya da neden kullanılacağının mantığını bilmeyenler, anlamak isteyenler  "Vb.Net'te Veritabanı İşlemleri" isimli yazıma bakabilirler.




Formumuz bu şekilde. Textboxlar'dan bilgileri alıp kaydı yapacağız.



Kodlarımız bunlar. Public Class Form1'in üzerinde yer alan Imports System.Data.SqlClient namespace'ini (kütüphane) eğer veritabanı ile işlem yapacaksak kesinlikle eklememiz gereklidir. Bunun nedeni ise, kullandığımız tüm veritabanına ait yapıcıların, fonksiyonların, sınıfların (sqlconnection, sqlcommand...) bu kütüphanenin içinde olmasıdır. Eğer bu kütüphaneyi projemize dahil etmezsek, hiçbir veritabanı işlemi yapamayız. Imports komutu ile bu kütüphane eklenir. 

Bağlantıyı ve komutu hazırladık. Click olayını kullanıyoruz. Try-Catch bloklarının arasına kodlarımızı yazıyoruz. 

Bize burada farklı gelen kod satırları, sarı ile çizdiğim satırlar. 
komut.CommandText bildiğimiz gibi SQL sorgumuzu yazdığımız yer. Daha önce de dediğim gibi, bu işlemleri yapmamız için SQL sorgusu yazmayı bilmemiz gerekmektedir. 

(insert ogrenciler(ogr_no,ogr_adi,ogr_soy,ogr_kay_tar) values(@no,@ad,@soyad,@kyt)) sorgumuza baktığımızda kısaca mantığı şudur; ogrenciler tabloma ekleme yapacağımı insert ile söylüyorum. Tablonun adını yazdıktan sonra, tabloda bulunan alanları doğru bir şekilde yazmalıyım. Eğer yanlış yazarsam, ekleme yapacağı alanı bulamayacağı için kodlarım Catch'e düşer, programım hata verir. Bu yüzden alan adlarını yazarken dikkat ediniz. Values olarak yazdığım kısım ise, aşağıda ekleyeceğim değerleri, belirlenen alanlara eklemek içindir. Yani, values parantezinin içinde bulunan değerler sırası ile belirlenen alanlara atılır.(@no--->ogr_no, @ad--->ogr_adi gibi). Bunların sırasına da dikkat edilmesi gereklidir. Yanlış sıra ile yazılırsa mesela öğrenci soyadı, öğrenci adının yazılacağı alana kaydolabilir. 

komut.Parameters.AddWithValue("@no", no.Text): Bu kısım önemlidir. Burada alanlara girilecek değerleri alıyorum. Bunun başka bir yazılışı da var ama bu daha kısa olduğu için bunu kullanıyorum. "no.Text", formumda bulunan "Öğrenci No"nun girileceği textbox. O textbox'ın içindeki veriyi alıp, "@no" adlı değişkenime atıyorum. SQL sorgularında değişken kullanmak için "@" karakteri kullanılır. Buradan değişken olup olmadığını anlarız. Bunu tüm alanlar için yapıyoruz, her alan için ayrı ayrı bilgileri almış oluyoruz. Yani şöyle düşünebilirsiniz;

AddWithValue ile girilecek bilgiyi alıp sql değişkenimizin içerisine atıyoruz. Artık her değişkenimizin içinde textboxlardan aldığımız değerler var. Insert ile de değişkenlerimizin içindeki değerleri alanlara kaydediyoruz. Böylece aslında işimizin yarısından çoğu bitmiş oluyor. Bu işlem (değişkenleri kullanma işlemi) ekleme işleminde olduğu gibi silme ve güncelleme işlemlerinde de kullanılıyor. Çünkü bu üç işlemde de içeri bir değer almamız, işleme sokmamız gerekiyor. Eklemede eklenecek değerlerin, silmede hangi kaydı sileceğimizin bilgisinin, güncellemede ise alanların yerine gelecek değerlerin alınması gereklidir. 

Bağlantımızı açıp ExecuteNonQuery ile sorguyu gerçekleştiriyoruz. Hatırlarsanız silme, güncelleme, ekleme işlemlerinde bunu kullanıyorduk. MsgBox ile durum bilgisi veriyoruz. Son olarak ise, bağlantıyı kapatıp işimizi bitiriyoruz.



Gördüğünüz gibi programımız başarıyla çalışıyor. No kısmınız belirli bir şekilde artarak gidiyorsa SQL programınızda otomatik artan yapıp kaçar kaçar artacağını belirleyebilirsiniz. Böylece no bilgisini kodda almaya hiç gerek kalmaz, kendisi bunu halleder.

Veritabanına kayıt ekleme işlemi bu kadar. Tablolarda filtreleme işlemi yapmayı da bir sonraki derslerde size göstereceğim. 
Size iyi günler diliyorum, kendinize iyi bakın.

Bu blogdaki popüler yayınlar

VB.NET'TE VERİTABANI İŞLEMLERİ

C# - WPF APPLICATION - LISTBOX KULLANIMI