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)
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
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
Yorum Gönder