Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Adodc ile Veritabanı İşlemleri  (Okunma Sayısı 690 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Şahin KALEM
Moderatör
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 190

Türkiyeli değil TÜRK


Üyelik Bilgileri WWW


« : 28 Temmuz 2008, 09:11:16 »




ADODC Kullanarak bir veritabanı uygulamasının nasıl yapıldıgını anlatacağım. Formumuza 6 Adet Textbox, 1 Adet Adodc, 1 Adet Datagrid, & Adet Label, 10 Adet Buton ekliyoruz
Önce bir Sub oluşturuyoruz. Veritabanımızdaki verileri textbox larda göstermek için kullanacağımız bu Sub oluşturmamızın amacı bi kaç yerde aynı kodları kullanacağıımız için tekrar tekrar yazmamak.
Private Sub VeriSet()
      Text1 = Adodc1.Recordset.Fields(0)
      Text2 = Adodc1.Recordset.Fields(1)
      Text3 = Adodc1.Recordset.Fields(2)
      Text4 = Adodc1.Recordset.Fields(3)
      Text5 = Adodc1.Recordset.Fields(4)
      Text6 = Adodc1.Recordset.Fields(5)
End Sub

formun load olayında adodc1 in veritabanı bağlantılarını yapıyoruz. ConnectinString i ve RecordSource unu belirtertiyoruz. Ondan sonra kayıt sayısını kontrol ederek Datagrid ve Textbox larımızı Adodc1 e bağlıyoruz. bu işlemi doğru yaptıysanız programı çalıştırabilirsiniz. Program çalıştıgında verilerinizin Datagrid ve textbox larda görunuyor olması gerekmektedır
Private Sub Form_Load()
On Error Resume Next
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & App.Path & "\Adodc.mdb"
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from tablo ORDER BY ID"
    Adodc1.Refresh
    If Adodc1.Recordset.RecordCount <> 0 Then
      VeriSet
      Set DataGrid1.DataSource = Adodc1
    End If
    DataGrid1.Refresh
End Sub

Şimdi kayıtlar arasında dolaşmak için gerekli kodları yazıyoruz
İlk Kayıta gitmek için
Private Sub Command1_Click()
    On Error Resume Next
    Adodc1.Recordset.MoveFirst
    VeriSet
End Sub

Önceki kayıt. Önceki ve sonrakı kayıtlara giderken ilk ve son kayıt olup olmadıgını kontrol etmemiz gerekir. Bu kontrolleri yapmazsak hata ile karşılaşırız
Private Sub Command2_Click()
    On Error Resume Next
    Adodc1.Recordset.MovePrevious
    If Adodc1.Recordset.BOF Then
      Adodc1.Recordset.MovePrevious
      MsgBox "İLK KAYITDASINIZ"
    End If
    VeriSet
End Sub

Sonraki Kayıt
Private Sub Command3_Click()
    Adodc1.Recordset.MoveNext
    If Adodc1.Recordset.EOF Then
      Adodc1.Recordset.MoveLast
      MsgBox "SON KAYITDASINIZ"
    End If
    VeriSet
End Sub

Son kayıt
Private Sub Command4_Click()
    Adodc1.Recordset.MoveLast
    VeriSet
End Sub

Programı Kapat
Private Sub Command10_Click()
    End
End Sub

Bul komutu. Find komutu ile arama yapıyoruz. Ben aramayı ID alanına göre yaptırdım. Inputbox kullanarak kullanıcının yazacağı ID nolu kayıtı buluyoruz
Private Sub Command5_Click()
    On Error Resume Next
    Adodc1.Refresh
    Dim bul As String
    bul = InputBox("Kişi ID yazınız")
    If Trim(bul) <> "" Then
      bul = "ID='" + bul + "'"
      Adodc1.Recordset.MoveFirst
      Adodc1.Recordset.Find bul
      VeriSet
    End If
End Sub

Yenı kayıt ekleme. Recorset teki alanları textbox lara eşitleyerek yenı kayıt ekliyoruz. Adodc ve Datagrid i refresh ederek yenı eklenen kayıtı programı kapatıp açmadan gridde görmemızı sağlıyoruz
Private Sub Command6_Click()
On Error Resume Next
    Adodc1.Refresh
    Adodc1.Recordset.AddNew
    Adodc1.Recordset.Fields(0) = Text1
    Adodc1.Recordset.Fields(1) = Text2
    Adodc1.Recordset.Fields(2) = Text3
    Adodc1.Recordset.Fields(3) = Text4
    Adodc1.Recordset.Fields(4) = Text5
    Adodc1.Recordset.Fields(5) = Text6
    Adodc1.Recordset.Update
    Set DataGrid1.DataSource = Adodc1
    DataGrid1.Refresh
End Sub

Silme işlemi. Delete komutu ile o anda bulunulan aktif kayıt silinir. hata vermemesi içinde bir onceki kayıta donmesini sağlıyoruz
Private Sub Command7_Click()
    If Adodc1.Recordset.RecordCount <> 0 Then
      Adodc1.Recordset.Delete
      Adodc1.Recordset.Update
      Adodc1.Recordset.MovePrevious
      VeriSet
    End If
End Sub

Kayıt Guncelleme işlemi. Kayıt eklemek ile arasındaki tek fark kayıt ekleme de addnew komutu kullanrken güncelleme işleminde sadece Update komutu kullanmamız. Update komutunu yaptıgımız işlemlerde kullanmadıgımız takdirde veritabanında işlem geçekleşmez.
Private Sub Command8_Click()
On Error Resume Next
    Adodc1.Refresh
    Adodc1.Recordset.Fields(0) = Text1
    Adodc1.Recordset.Fields(1) = Text2
    Adodc1.Recordset.Fields(2) = Text3
    Adodc1.Recordset.Fields(3) = Text4
    Adodc1.Recordset.Fields(4) = Text5
    Adodc1.Recordset.Fields(5) = Text6
    Adodc1.Recordset.Update
    Set DataGrid1.DataSource = Adodc1
    DataGrid1.Refresh
End Sub

Yeni kayıt ekleyeceğimiz zaman textbox ları tek tek temizlemekle uğraşmamak için textbox ları temizliyoruz. Bu işlem sırasında yenı kayıtın Id alanının değerini bilmek için text1 e kayıtsayısının bir fazlasını yazdırıyoruz
Private Sub Command9_Click()
    Text1 = Adodc1.Recordset.RecordCount + 1
    Text2 = ""
    Text3 = ""
    Text4 = ""
    Text5 = ""
    Text6 = ""
End Sub

Makalede kaba taslak Adodc ile temel veritabanı işlemlerinin nasıl yapıldıgını anlatmaya çalıştım. Sanırım atladıgım bir nokta kalmadı. Umarım işinizi görür
Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
http://rapidshare.de/files/40099578/ADODC_Kullan_m_.rar.html

bu adresten programı indirebilirsiniz
Logged

Eger Son Nefesimi Vermeden Once Mutlu Olacagini Bilirsem Cehenneme Bile Gulerek Giderim.!

BU ŞEHİR BU KALABALIK BU KARMAŞA İÇİM BURKULUYOR ONCA İNSAN BİR SEN OLMUYOR VE SEN ONCA İNSANDAN BİRİ OLMUYORSUN
YuKo_CaN
קєรเ๓เรt
Master Üye
******


Karma: 104
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 2052

PeSiMiST


Üyelik Bilgileri


« Yanıtla #1 : 28 Temmuz 2008, 10:27:00 »

Çok güzel ve faydalı bir anlatım.tşkler.Veritabanı Bölümüne tasındı
Logged

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap
xpcode
Yeni Üye
*

Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 3


Üyelik Bilgileri


« Yanıtla #2 : 16 Eylül 2008, 08:58:19 »

link kırık
Logged
dagli31
Yeni Üye
*

Karma: 1
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 6


Üyelik Bilgileri


« Yanıtla #3 : 25 Eylül 2008, 21:26:01 »

klavyene saglık ya sana bir sey diyecegım datagrid ile listview arasındakı fark nedir ???yapmış oldugun ufak bi telefon rehberi prg. exe alıyorum masa ustune calısıyorum hersey normal kayıt ekleme sılme degıstırme ama soyle bı sorun var isimlerin eklenmiş oldugu datagridde kendim kayıt silme butonuna degılde normal sekılde isim uzerine geldıgım zaman sılebılıyorum neden acaba

Logged
skat
Yeni Üye
*

Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 5


Üyelik Bilgileri


« Yanıtla #4 : 30 Ekim 2008, 11:20:38 »

Sayın Hocan bu örnek çok güzel
Fakat benim gibi acemi kullanıcılar tercuman olmak adına bir soru sormak istiyorum
bu veri tabanına (access) resimler var bu resimleri vba formu üzerindeki bilgiler gelince kişiye ait resimde nasıl gelir Teşekkür ederim
Logged
Şahin KALEM
Moderatör
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 190

Türkiyeli değil TÜRK


Üyelik Bilgileri WWW


« Yanıtla #5 : 30 Ekim 2008, 12:42:53 »

bunun en iyi yolu resmi bir klasore yerleştirmek ve resmin yolunu veritabanına kaydetmektir. resmi çağıracağın zaman veritabanındaki yolu çağıracaksın ve picturebox a resim yolu olarak veritabanından aldıgın yol bilgisini yazacaksın.

diğer bir yol ise resmi veritabanına kaydetmektir. ama bu hem veritabanını boyutunu arttırır hemde çevirme işlemleri yapman gerekirki daha fazla kod anlamına gelir.

o nedenle ilk yolu tavsıye ederim. resim gösterme ile ilgili örnekler site içerisinde var. yukarıdakı ornegı tekrar upload etim

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
Logged

Eger Son Nefesimi Vermeden Once Mutlu Olacagini Bilirsem Cehenneme Bile Gulerek Giderim.!

BU ŞEHİR BU KALABALIK BU KARMAŞA İÇİM BURKULUYOR ONCA İNSAN BİR SEN OLMUYOR VE SEN ONCA İNSANDAN BİRİ OLMUYORSUN
skat
Yeni Üye
*

Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 5


Üyelik Bilgileri


« Yanıtla #6 : 01 Kasım 2008, 11:03:55 »

Sayın Şahin KALEM 
Cevabınız için çok teşekkür ederim. Fakat ben biraz acemiyim şu sizin program üzerine bir tane resimli örnek dosya yapabilirmisiniz 2 tane resim olsa yeter
Çok Teşekkür Ederim
Logged
Sayfa: [1]   Yukarı git
  Yazdır  

 
Gitmek istediğiniz yer: