![]() |
![]()
|
![]()
Özel Arama
|
||||||
| ASP, Perl, Php, Html ASP, Perl, Php, Html gibi her tür web programcılığı dili için yardım |
![]() |
|
|
LinkBack | Seçenekler | Stil |
|
|
#1 (permalink) |
|
{♥_♥} sürgün..{♥_♥}
![]() |
Konu : Veritabanından Bilgileri Sayfaya Dökmek
Seviye : Basit Kaynak Dosyalar : Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın bu dosyaları C:\Inetpub\wwwroot dizini içinde ders adında bir klasör oluşturun ve içerisine koyun. Bundan sonra yazdığım kodlarıda buraya koyarsınız. ![]() ![]() kayit_oku.asp Kod: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Veritabanından kayıt okumak</title> <aaaa http-equiv="aaaaaaa-Type" aaaaaaa="text/html; charset=iso-8859-9"> </head> <body> <table border="1" cellpadding="0" cellspacing="0" width="100%"> <% dim strConn strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("veritabani.mdb") dim objConn set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn dim objRs set objRs = Server.CreateObject("ADODB.Recordset") objRs.CursorType = 0 objRs.Cursoraaaaaaaa = 2 objRs.LockType = 1 dim strSql strSql = "SELECT * FROM tblUye" objRs.Open strSql objConn &H0001if objRs.EOF then %> <tr> <td>Veritabanı boş</td> </tr> <% else do while Not objRs.EOF %> <tr> <td><% = objRs("UYE_ID") %></td> <td><% = objRs("UYE_AD") %></td> <td><% = objRs("UYE_SOYAD") %></td> <td><% = objRs("UYE_MAIL") %></td> <td><% = objRs("UYE_SEHIR") %></td> <td><% = objRs("UYE_MESAJ") %></td> </tr> <% objRs.MoveNext() loop end if objRs.Close set objRs = Nothing objConn.Close set objConn = Nothing %> </table> </body> </html> kısaca açıklayacak olursak; strConn isimli bir değişken tanımladık ve bu değişkene veritabanı bağlantı cümlesini atadık. Başına str eki koyduk ki bu değişkenin bir string olduğunu bize her zaman hatırlatsın... Kod: dim strConn strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("veritabani.mdb") objConn isimli bir değişken tanımladık ve bu değişkene veritabanı bağlantımızı sağlayacak olan Connection nesnesini atadık. Başına obj eki koyduk ki bu değişkenin bir Server Object (Sunucu Nesnesi) olduğunu bize her zaman hatırlatsın... Veritabanına bağlantı sağladık... Kod: dim objConn set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn objRs isimli bir değişken tanımladık ve bu değişkene Recordset kayıtseti (kayıt dizisi) nesnesini atadık. Başına obj eki koyduk ki bu değişkenin bir Server Object (Sunucu Nesnesi) olduğunu bize her zaman hatırlatsın... Kod: dim objRs set objRs = Server.CreateObject("ADODB.Recordset") kayıtsetinin CursorType değerini 0 parametresi verdik. kayıtsetinin Cursoraaaaaaaa değerini 2 parametresi verdik. kayıtsetinin LockType değerini 1 parametresi verdik. Kod: objRs.CursorType = 0 objRs.Cursoraaaaaaaa = 2 objRs.LockType = 1 Kayıtseti için verilebilecek bu değerler adovbs.inc dosyasında tanımlanmıştır. Kayıtsetinde onlarca farklı opsiyon ve bu opsiyonların birer nümerik karşılığı vardır. Normalde bu nümerik değerler yazılıdır. Nümerik ifadeleri akılda tutmak zor olduğu için bu nümerik ifadelerin karşılığını veren adovbs.inc kullanılır "1" yazmak yerine hatırlanması daha kolay olan "adOpenaaaset" yazabiliriz. Kayıtsetini açarken kullanabileceğimiz değerler aşağıdadır. <% '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 <=== Biz bunu kullandık Const adOpenaaaset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- CursoraaaaaaaaEnum Values ---- Const adUseServer = 2 <=== Biz bunu kullandık Const adUseClient = 3 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 <=== Biz bunu kullandık Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 '---- EditModeEnum Values ---- Const adEditNone = &H0000 Const adEditInProgress = &H0001 <=== Biz bunu kullandık Const adEditAdd = &H0002 Const adEditDelete = &H0004 %> Alıntı: Yukarıdaki sabit değerleri biraz açıklayalım. '---- CursorTypeEnum Values ---- Recordset içindeki hareketi kontrol eden bir özelliktir. Varsayılan olarak Forward-only kullanılır. Dört değişik tipten biri seçilebilir.
Forward-only Cursor (adOpenForwardOnly ya da 0) Forward only : (Sadece ilerle) Varsayılan kürsördür. Static Cursor'e benzer fakat kayıtlar arasında sadece ileriye doğru harekete izin verir. Yeni kayıt ekleyemeyiz ve yapılan değişiklikler kayıtsetini yeniden açıncaya kadar göremeyiz. Bu kürsörü listeleme işlemlerinde kullanarak performans artışı sağlayabiliriz. aaaset Cursor (adOpenaaaset ya da 1) Kayıtseti içindeki her tütlü harekete izin verir. Diğer kullanıcıların eklediği kayıtların görünmesini engeller. Diğer kullanıcıların sildiği kayıtlara erişilmez. Diğer kullanıcıların kayıtlar üzerinde yaptığı veri değişiklikleri anında yansıtılır. Dynamic Cursor (adOpenDynamic ya da 2) Dynamic : (Dinamik) Diğer kullanıcılar tarafından yapılan eklemelerin değişikliklerin ve silmelerin anında görülmesini sağlar ve kayıtseti üzerindeyapılacak tüm hareketlere izin verir. Static Cursor (adOpenStatic ya da 3) Static : (Duragan) Belli verilerin bulunması ya da raporların üretilmesi için kullanılacak kayıtsetinin değişmeyen bir kopyasını oluşturur. Veri üzerinde her türlü harekete izin verir. Diğer kullanıcılar tarafından yapılan değişiklikler kayıtsetine yansıtılmaz. '---- LockTypeEnum Values ---- Kayıtsetinin kilitlenmesi için kullanılır. Dört farklı değer alabilir. adLockReadOnly ya da 1 Veriler sadece okunur şekildedir değiştirilemez.adLockPessimistic ya da 2 Üzerinde işlem yapılan veriler satır bazında kilitlenir. Başka kullanıcıların erişimi engellenir. adLockOptimistic ya da 3 Kayıtseti üzerinde işlem yapıp bunu tekrar veritabanına gönderene kadar kayıtseti üzerinde herhangi bir kilit yoktur. Veritabanının yenilenme (Update) süreci içinde kayıtseti kilitlenir. adLockBatchOptimistic ya da 4 Değişiklikler toplu yapılır. kayıtseti dediğimiz nedir? Resme bakarsanız daha iyi anlayacaksınız. Okunan kayıtların üstünde gezinen o ok'a recordset denir... ![]() strSql isimli bir değişken tanımladık ve bu değişkene veritabanı içindeki tablomuza bağlantıyı sağlayacak ifadeyi atadık. Kod: dim strSql strSql = "SELECT * FROM tblUye" ve kayıtsetine yüklemiş olduğumuz tüm bu parametrelere uygun bir şekilde açılış yaptık. Kod: objRs.Open strSql objConn &H0001 if = Eğer objRs = Kayıtseti (Nesnesi) EOF (End Of File) = Dosyanın kuyruğun sonu..Kayıtsetinin sonunu gösterir. Türkçesi kayıtseti boş ise... demek. Accesste en son kayıt herzaman boştur. Hiç bir veri okunmadıysa kayıtseti bu satırdadır ve değeri false'dir. Tam türkçe ile veritabanı içindeki tblUye Boş ise demektir. Kod: if objRs.EOF then Boş olduğunu sayfaya yazıyoruz. Kod: <tr> <td>Veritabanı boş</td> </tr> üst tarafta if objRs.EOF then ile veritabanı boş ise demiştik else ile burada boş değilse demek istedik yani tabloya herhangi bir veri yazılmış ise bu koddan sonrası icra edilir... Kod: else do = yap icra et uygulawhile = ...ıncaya kadar... Not = ... Değilse(olumsuzluk) ... objRs = Kayıtseti (Nesnesi) EOF (End Of File) = Dosyanın kuyruğun sonu..Tam türkçesi en son veriye kadar bu ilemi tekrar tekrar yap demektir. Kod: do while Not objRs.EOF tblUye isimli tablo içindeki alanlara verdiğimiz isimleri buradan çağırıyor ve içindekileri sayfaya aktarıyoruz. <% = %> bu Response.Write demektir. Kod: <tr> <td><% = objRs("UYE_ID") %></td> <td><% = objRs("UYE_AD") %></td> <td><% = objRs("UYE_SOYAD") %></td> <td><% = objRs("UYE_MAIL") %></td> <td><% = objRs("UYE_SEHIR") %></td> <td><% = objRs("UYE_MESAJ") %></td> </tr> veiratanındaki ilk kayıt okunur. Kod buraya gelince aşağıdaki komut ile hemen üstteki kısma do while Not objRs.EOF döner ve bu işi son verinin okunmasına ve kayıtsetinin boş satıra gelmesine kadar döner durur ve <tr> ile </tr> arasını her dönüşte bir alttaki satır içinde bulunan değerler ile doldurarak dönmeye devam eder.Kod: objRs.MoveNext() loop tblUye isimli tablonun boş olup olmadığını kontrol ettiğimiz kodu kapatıyoruz. Kod: end if Kayıtseti nesnesini kapatıyor ve değerlerini boşaltıyoruz. Bunu yapmazsak kodumuz onlarca kullanıcı ile çalıştığında hem sayfanın geç açılmasına hemde sunucuyu boşa meşgul ederek sunucuyu yormaya ve performansını düşürmemize sebep oluruz. Kod: objRs.Close set objRs = Nothing Bağlantı nesnesini de kapatıyor ve değerlerini boşaltıyoruz. Kod: objConn.Close set objConn = Nothing |
|
|
|
![]() |
| Beğenilen Sayfayı İşaretleyin |
| Konuyla Alakalı Etiketler |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | UslanmaM | Cevaplar | Son Mesaj |
| Php Veritabanından Rastgele Veri Okumak. | Constantine | ASP, Perl, Php, Html | 0 | 05-14-2009 11:23 AM |
| Veritabanından Alınan Kayıtların Her Satırını Bir Önceki Satırdan Farklı Bir Renkle Sayfaya Dökmek. | Constantine | ASP, Perl, Php, Html | 0 | 05-14-2009 11:22 AM |
| Php Veritabanındaki Bilgileri İki Sutun halinde Sayfaya Dökmek | Constantine | ASP, Perl, Php, Html | 0 | 05-14-2009 11:19 AM |
| asp Veritabanından Bilgileri Güncellemek | Constantine | ASP, Perl, Php, Html | 0 | 05-14-2009 11:10 AM |
| Asp Veritabanından Bilgileri Silmek | Constantine | ASP, Perl, Php, Html | 0 | 05-14-2009 11:10 AM |
