Ana içeriğe atla

Asp.Net Access OleDbTypeBoolean & CheckBox-RadioButton Elementler

Ms Access veritabanını Asp.Net web projelerinde kullanmayı, Firebird ve Ms Sql (Transact Sql) Database işlemlerini eş zamanlı olarak anlatmaya devam ediyorum.Bu blogta  System.Data.OleDb sınıfını kullandığımız Asp.Net Web projesinde bulunan CheckBox ve RadioButton form elementlerinden kayıtları nasıl alacağımıza bakacağız.


Hatırlatma ! : Access ile ilgili ilk yazımda Access 2007 sürümünü kullanarak Asp.Net Web uygulamasında verileri kaydetmek nasıl olur yazmıştım.Bu yazının içeriği Visual Basic.Net ile code üreterek Acces'e bağlanmış ve INSERT etmiştik.Microsoft ACE OleDB 12 sürümünü kullanarak yaptığımız ikinci uygulama ise Asp.Net Web uygulamalarında, Acces veritabanına Resim ve nesneleri (OLE Nesnelerini) nasıl kaydedebiliriz konusuydu.Bu yazımda ise Text veriler gibi Boolean tiplerinin Access veritabanına kayıtlarının nasıl yapılabildiğini anlatmaya çalışacağım.Asp.Net Web uygulamaları ve Access konusunda daha fazla bilgi istiyorsanız yukarıdaki yazıları sırasıyla okumanız iyi olacaktır...

Uygulamaya Başlarken : İstediğimiz Access Veritabanında Bollean veri tipini kullanarak kullanıcıdan Evet/Hayır türünde bilgileri almaktır.Access Evet için -1, Hayır içinse 0 değerini alacağımız veri türünde ChechBox veya RadioButton form elementleri ile bunu yapmayı planlıyoruz..Bu 1 bit 'lik değer bize projemizin ilerleyen kısımlarda query string değerlerle bağladığımızda anlam ifade edecek bir çalışma olacaktır.Aşağıdaki Access Table içeriğini kontrol ederek, table içeriğinin aynısını üretiniz.

Oluşturacağımız SampleDatabase.accdb Access veritabanı dosyasının içinde SampleCont adında birde Table bulunmakta.Veritabanını diğer örneklerde olduğu gibi Web uygulamamıızın App_Data klasörü içine alıyoruz.Yeni bir web form açarak aşağıdaki işlem ve anlatımları okuyarak bu dosyalar için gerekli işlemleri sırasıyla uyguluyoruz.Bu örneklerdeki web form ismi SampleElements.aspx dir.

SampleElements.aspx : Web form şekli aşağıdaki gibidir Uygulamada 2 adet CheckBox ve 2 adet RadioButton olmak üzere 4 seçenekli bir arayüz oluşturulmuştur.
Bu tasarımın kod içeriğinde bilmeniz gereken element ID değerlerinin, Database içindeki Alan adı ile aynı olması gerektiğidir.Buna göre aşağıdaki resim daha açıklayıcıdır.
SampleElements.aspx.vb : Visual Basic.Net source code için yapmamız gerekenleri diğer örneklerdeki gibi aşamaları ile anlatacağım.
1-)
Imports System.Data
Imports System.Data.OleDb
Imports System.IO

2-) Veritabanı yolunu ve değişkenini tanımlıyoruz.
Partial Class SampleElements
    Inherits System.Web.UI.Page
    Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("App_Data/SamplesDatabase.accdb")
    Dim myAccessConnection As New OleDbConnection(connStr)
3-)


Public Sub openAccessConnection()
        If myAccessConnection.State = ConnectionState.Closed Then
            myAccessConnection.Open()
        End If
    End Sub
4-)


Public Sub closeAccessConnection()
        If myAccessConnection.State = ConnectionState.Open Then
            myAccessConnection.Close()
        End If
    End Sub
5-) Kaydet button'unun Click event için gerekli insertı into işlemlerini yazıyoruz.
Protected Sub SampleSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SampleSave.Click
        Try
            openAccessConnection()
            Dim cmd As New OleDbCommand("insert into SampleCont(SampleCheck1,SampleCheck2,SampleRadio1,SampleRadio2) values(@SampleCheck1,@SampleCheck2,@SampleRadio1,@SampleRadio2)", myAccessConnection)

            cmd.CommandType = CommandType.Text
            cmd.Parameters.Add("@SampleCheck1", OleDbType.Boolean).Value = SampleCheck1.Checked
            cmd.Parameters.Add("@SampleCheck2", OleDbType.Boolean).Value = SampleCheck2.Checked
            cmd.Parameters.Add("@SampleRadio1", OleDbType.Boolean).Value = SampleRadio1.Checked
            cmd.Parameters.Add("@SampleRadio2", OleDbType.Boolean).Value = SampleRadio2.Checked

            cmd.ExecuteNonQuery()
            closeAccessConnection()
        Catch ex As Exception
            Response.Write(ex.Message)
            closeAccessConnection()
        End Try
        Response.Redirect("SampleElements.aspx")
    End Sub
End Class


Ek Bilgiler : Yukarıdaki 5 adımlı source code CheckBox ve RadioButton form elementlerinin seçilerek Kaydet bottonuna basıldığında veriyi Evet veya Hayır olarak ilgili Table içine kaydedecektir.Daha önceki uygulamalarda buna benzer olan bir kod ile Metin kayıtlarını gerçekleştirmiştik.Bu kayıtları alırken kullandığımız kod
 OleDbType.VarChar) Value= elementadı.Text şeklindeydi.Yukarıdaki farklılığı göz önünde bulundururak örneği pratik olarak uygulayınız.





Asp.Net Web uygulamalarında Ms Access veritabanı kullanmayı ilerleyen bloglarda yeni işlevleri ile burada bulabilirsiniz.Ms Access ve diğer veritabanları (Ms-Sql Transact- Sql- Firebird) ile ilgili konuları sol üst menuden seçerek tüm yazılara hızlıca ulaşabilirsiniz.Ayrıca etiketlere tıklamak sizi doğrudan o etiketle ilgili yazılara hemen götürecektir. 



      Bu Yazının Sponsorları













Yorumlar

Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...