CAYBURG.NET
Programlama Dilleri Delphi, Visual Basic, C, C++,C#, ASP, Perl, Php, Html vb. diller hakkında bilgi ve birikimlerinizi paylaşabilir ve yardım alabilirsiniz.
Cevapla
VB Listbox Kullanımı Bu konu 669 defa okundu ve 0 yorum yazildi.
 
Seçenekler
Alt 06.06.2008, 23:30 #1
Bronze Members

Standart VB Listbox Kullanımı


Visual Basic & SQL (Recortdset Kullanımı)
--------------------------------------------------------------------------------
Özellikle Recordset Kullanarak Visual Programlama SQL veri tabanlarıyla iletişim kurma.
Merhaba arkadaşlar. Bu yazıda sql ile ilgili yeni bir şeyler yazmayacağım. Aslında yaptığım internet bünyesindeki sql ile ilgili en gerekli bilgileri kendi anlatımım ve örneklerimle bir araya toplamak. SQL nedir ile kısaca başlayalım. SQL veri tabanı yönetim dilidir. İster ACESS ister MySQL (yada benzeri) olsun veri tabanı programcıklarını yönetme dilidir. Listeler, Kaydeder, Düzeltir, Siler, Karşılaştırır, Ararsınız. Özellikle arama özelliği o kadar iyidir ki programcıya yapacak pek bir şey kalmaz. Çok zorda değildir.
**Ben bu yazıda ACCESS veri tabanını kullanacağım
*** İlk önce bir Access veri tabanı oluşturalım. Adı veri.mdb olsun.
*** İçerisinde kayit adında bir tablo oluşturalım.
*** Tabloya 4 değişken gireceğiz.
id Otomatik Metin(ve birincil anahtar)
adi Metin
soyadi Metin
telefon Metin
*** Şimdi açıklamaları yapalım:
id : Neden otomatik metin ve birincil anahtar; Çünkü biz bu kayıda karışmayacağız. Her yeni kayıt yapıldığında ACCESS otomatik olarak buraya bir rakam atayacak ve birincil anahtar olduğu için aynı numaraya sahip bir başka kayıt olmayacak. Bu numara bize silme ve düzeltme işlemlerinde yarayacak.
adi, soyadi, telefon : Neden Metin olduğu ortada sanırım. Sayısal bir işlem yapmayacağız.
*** Çalışma alanımız C:\Belgelerim\ilksql klasörü olsun. Ve veri tabanımızı buraya koyalım.
*** Kayıt alanımızda şunlar kayıtlı olsun
kayit
id adi soyadi telefon
1 Şevket Bulamaz 05355555555
2 Özge Gölbaşı 05352552525
3 Çağrı Solakoğlu 05354212121
4 Emre Tokyay 05423454545
5 Altan Karakullukçu 05558898998
6 Programlama NoktaCom 05455617181

*** Şimdi kodlarımızı yapalım. Formumuza bir listbox ekleyelim. Adı listbox1. Form load olayına şunu yazalım.
Private Sub Form_Load()
On Local Error GoTo hata ‘program içerisinde hata olduğunda hata etiketine gönderiyoruz.
Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
‘yukarıdaki 2 satır bizim veri tabanı ile bağlantı kurmamıza yarıyor.
‘app.path olayı programımızın da c:\belgelerim\ilksql klasöründe olduğunu anlatıyor.
‘yani programı nerede çalıştırırsak çalıştıralım program veri.mdb dosyasını yanında arayacak.

sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
‘yukarıdaki 3 satırda ise veri tabanı içindeki verilere ulaşmak için
‘ilgili tablo ile bağlantımızı kuruyoruz.
‘sql değişkenimize kayit tablosu içinden adi soyadi ve telefon değişkenlerini seçmesini
‘ve bunları soyadi sırasına göre dizmesini söyledik. Eğer ki en sona DESC yazsaydık
‘dizilimi z `den a `ya yani azalan sıraya göre yapacaktı.
‘sql bağlantı tiplerini program sonrasında etraflıca anlatacağım. Şimdilik bir fikrimiz
‘olması açısından olaya böyle başladık.
Dim adi, sadi, teli As String ‘şimdi 3 değişken tanımladık işi biraz uzattık
Do While Not rs.EOF ‘Kayıt sonu değilse veya boş değilse do loop arasındakileri yap
adi = rs("adi") ‘veri tabanındaki adi değişkeninin değerini adi değişkenine atadık
sadi = rs("soyadi") ‘veri tabanındaki soyadi değişkeninin değerini sadi değişkenine atadık
teli = rs("telefon") ‘veri tabanındaki telefon değişkeninin değerini telii değişkenine atadık
listbox1.AddItem adi & " " & sadi & " " & teli ‘ve bu değişkenleri ard arda listbox a ekledik
rs.MoveNext ‘Birsonraki kayıda geç
Loop ‘Do ifadesinin doğasını gerçekleştir.
GoTo kayitson ‘işlem bittiğinde kayıtson a git ve bitir.
hata: ‘hata etiketi
MsgBox "HATA OLUŞTU" & Chr(13) & Err ‘hata oluştu ise haber ver ve hata sebebini yaz
kayitson: ‘işlem bitti etiketi
End Sub
Eğer ki bir yazım yanlışı yapmadıysanız listbox içerisinde kayıtlarınızı görebilirsiniz.
Sql içerisindeki “select” deyimi bize listeleme ,düzenleme ve kayıt girişinde yarayacak. Ben işlemleri şimdilik recordset kullanarak yapıyorum bide bunu yapmanın sql ile yolu var.
Mesela yani kayıt eklemek için sql değişkeni şöyle olacak:
sql="insert into kayit(adi,soyadi, telefon) values('Mustafa','KESER','05055050505')"
ve bu durumda hiç recordset açmamıza gerek kalmayacaktı.
sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
yerine
sql="insert into kayit(adi,soyadi, telefon) values('Mustafa','KESER','05055050505')"
baglanti.execute(sql)
dememiz kayıt için yeterli olurdu.
Ancak recordset kullanarak kayıt eklemek şunların yapılmasını gerektiriyor.
Dim adi, sadi, teli as String
adi = “Mustafa”
sadi = “KESER”
teli = “05055050505”
Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
sql = "select adi,soyadi,telefon from kayit order by soyadi"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
rs.AddNew
rs(“adi”) = adi
rs(“soyadi”) = sadi
rs(“telefon”) = teli
rs.Update
Recordset ile bir kayıt yaptık işte. Eğer ki textboxlardan veri alalım derseniz
rs.AddNew
rs(“adi”) = text1.text
rs(“soyadi”) = text2.text
rs(“telefon”) = text3.text
rs.Update
şeklinde bir düzenleme yapmanız yeterli olacaktır.
*** Şimdi sql’in en çok işe yaradığı yerlerden birine göz atalım
ben adı Mustafa olan kişinin telefonunu değiştirmek istiyorum. Önce recordsetsiz sonrada recordsetli bir yapalım.
sql="update kayit set telefon='05332226655' where adi='Mustafa'"
baglanti.execute(sql)
buradaki where komutu adı Mustafa olan herkesin telefon numaralarını değiştirir. İşte id burada işe yarayacak. Çünkü sadece bir tane id bir tane isime ait. Diyelim ki Bizim Mustafa’nın id si 15 olsun. Bu durumda komut,
sql="update kayit set telefon='05332226655' where id=15"
baglanti.execute(sql)
olarak değişecektir.
15 numaralı kaydın telefon numarası değişti. Bir de recordset ile yapalım
Set baglanti = New ADODB.Connection
baglanti.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\veri.mdb"
sql = "select id,telefon from kayit where id = 15"
Set rs = New ADODB.Recordset
rs.Open sql, baglanti, 1, 3
rs(“telefon”) = “05332226655”
rs.Update
İşte bukadar basit. Değiştirme işlemini de bu şekilde yapıyoruz.
*** En kolayı ise silme işlemi.
sql="delete from kayit where id=15"
baglanti.execute(sql)
işte bukadar. Veri tabanından 15 numaralı kaydı bir anda sildik. Bu komut için recordset kullanmıyoruz. Çünkü bir zorluk çıkarmıyor. Recordset kullanmanın amacı toplu kayıt, listeleme ve aramalarda yarıyor. Recordset kullanmasak yaparmıyız. Tabi ki yapabiliriz. Uygun döngülerle her şey yapılabilir. Yada tüm database i boşaltmak istersek ;
sql="delete from kayit"
baglanti.execute(sql)
yazmamız yeterli. Veritabanı bomboş…
Recordset tanımlamadan kayıt, listeleme, değiştirme , silme yapmak çok daha hızlı ve masrafsız olur (zamandan, tabi ki sizin kodları yazma zamanınız.) ancak ben recordset in çok daha anlaşılır ve düzenli olduğuna inanıyorum. ( Belki en zaman alan şeyleri savunuyorum ancak aynı yoğurdu yediğimiz sürece her yiğidin farklı bir yoğurt yeme sitilinin olması fark etmiyor.)
İster recordsetli ister recordsetsiz, SQL siz bir programlama düşünülemez……
NOT: Umarım yararlı olmuşumdur. Visual programlama ile ilgili her şey veya şöyle düzelteyim. Her şey için bana mail atabilirsiniz. Eleştirilere açık bir insanımdır. Küfüre bağışıklılığım var
Hepinizi seviyorum. İnternetin en ünlü sözlerinden birini söyleyip çekiliyorum.
“Bilgi paylaştıkça çoğalır !!!”
Cevapla

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB Kodlari Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cvp Son Mesaj
Dj Programı Kullanımı kozzi Program Kullanımı ve Yardım 27 19.05.2009 16:08
Dreamweaver Kullanımı italyan_TR Silinen Konular ve Mesajlar 2 03.10.2008 00:04
Dj Programı Kullanımı numeric Program Kullanımı ve Yardım 1 08.06.2008 10:09
VB Listbox değişik renklerde item internetadami Programlama Dilleri 0 06.06.2008 23:30
Log me In Kullanımı... hepsindenbiraz Program Kullanımı ve Yardım 1 02.06.2008 02:59

WEZ Format +2. Şuan Saat: 12:38.
Cayburg - Arşiv - Top - Iyiler - Web Stats
Rapidshare Uploaded.to Uptal.com Upshare.NET Filefactory.com Videolari, Video izle Fun, Fan Anket WinRAR | File Hosting Free Kurd Radyo Dinle Bedava Albüm Indir Yeni Albüm Albüm Paylasim .Net .Org
Powered by vBulletin® Version 3.8.1 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197