Asp ile veritabanından veri çekmek ve ekrana yazdırmak için aşağıdakileri sırasıyla uygulayalım.

İlk önce veritabanımızda aşağıdaki gibi tablo olduğunuz varsayalım

server : localhost
veritabani adı : eyurtsever
kullanıcı : enver
şifre : 123456

——————————————
tablomuzda şöyle olsun:
tablo adı : tblHaber
alanlar : id, baslik , detay ,resim

Öncelikle veritabanı connection string imizi yazalım:(SQL veritabanı için)

<% Set baglanti    = Server.CreateObject("Adodb.Connection") baglanti.Open "driver={SQL Server};server=localhost ;uid= enver ;pwd=123456;database=eyurtsever" %>

baglantimizi oluşturduk ve şimdi tablodan veri çekelim

 

eğer en son eklenen veriyi çağırmak istiyorsak

<% Set rs = baglanti.execute("select * from tblHaber order by id desc") %>

 

ilk eklenen veriyi çağırmak istiyorsak

<% Set rs = baglanti.execute("select * from tblHaber order by id asc") %>

 

Eğer baş harfine göre çağırmak istiyorsak

<% Set rs = baglanti.execute("select * from tblHaber order by baslik asc") %>

 

Kayıt setimizi de oluşturduk. Şimdi ekrana yazdıralım

Eğer sadece bir tane kayıt getirmek istiyorsak

Haber Başlığı : <%=rs("baslik")%>  <br />

Haber Detayı : <%=rs("detay")%>

 

Bütün kayıtları getirmek istiyorsak döngüye sokmamız gerekiyor:

<% do while not rs.eof %>

Haber Başlığı : <%=rs("baslik")%>  <br />

Haber Detayı : <%=rs("detay")%>
<% rs.movenext:loop %>

 

Belirli sayıda kayıt getirmek istiyorsak

1. yol :

sorgumuza ” top ” kelimesini ekleriz:

"select top(5) * from tblHaber order by id desc"

2. yol

<% i=0

do while not rs.eof and i<5 i=i+1 %>

Haber Başlığı : <%=rs("baslik")%>  <br />

Haber Detayı : <%=rs("detay")%>
<% rs.movenext:loop %>

 

ve son olarak bağlantımızı ve kayıt setimizi kapatmayı unutmuyoruz. Açık bırakırsak veritabanımız loglarla zamanla şişecektir.

<% baglanti.close set baglanti = nothing rs.close set rs = nothing %>

 

7.247 okunma


(19) (7) (24)
50 oy


Yazar : Enver Yurtsever

Web Developer & Designer

“Asp ile veritabanından veri çekmek” için 8 Yorum

  1. yusuf osman taşdelen diyor ki:

    merhaba ben saatlertir ugraşıyorum araştırorum ama bir türlü çözüm bulamadım :( ben e okul sistemini yapıyorum ve tc ile ögrenci nosunu girdiğim zaman gelen yerlerde hep en baştaki veri geliyor :( bu verileride sadece örnegin bu şekilde çekiyorum ama bir kod daha olması lazım sanırımşimdi örneğin numarasını 23 tc numarasını 12345 girdiğimde access veri tabanımda bu şekilde kayıtlu olan kişilerin notlarını fln yazdırmasını istiyorum yada numarası 21 olan tcsi 654321 olan kişiyi girdiğimde bu kişinin bilgilerini yazdırmak istorum bunun kodu nedir acabaa acil yardım lütfennn burdan yazın yada mail gönderin : ysftsdln@gmail.com
    şimdiden çok teşekkürler :)

    • response90 diyor ki:

      Buraya yaptığınız sorguyu yazsaydınız daha iyi olurdu ama ben gene de yardımcı olmaya çalışayım.

      Öğrenci giriş formunuz var ve formda 2 alan var:
      1. OgrNo
      2. TCno

      Formu gönderdiğinizde kod şu şekilde olmalıdır:

      OgrNo = Request.Form(“OgrNo”)
      TCno = Request.Form(“TCno”)

      set rs = baglanti.execute(“Select * From TblOgrenci Where ogrencino = ‘ ” & OgrNo & ” ‘ and ogrencitc = ‘ ” & Tcno & ” ‘ “)
      if not rs.eof then
      response.write ” Giriş Başarılı”
      else
      response.write ” Hatalı Giriş Yaptınız”
      end if

      Not: ‘ (tırnak işareti) olan alanları kendiniz elle giriniz. Yorum kısmında değiştiriyor işaretleri.

      Eğer sorunuzu anlayabildiysem cevabı bu şekildedir. İyi Çalışmalar..

      • yusuf osman taşdelen diyor ki:

        siz beni anlamadınız :S şimdi ben bu forumu index.html sayfasına oluşturdum ve giriş butonuna tıkladıgında onayla.asp ye gidiyor onayla.asp sayfamda şu şekilde ;

        bu şekilde kullanıcı veri tabanındaki şifre ve tcyi dogru girdği zaman ogrenciler.asp ye gidiyor burdada işte ogrencinin adı soyadı notlarını filan yazmasını istiyorum ama işte ogrenciler.asp sayfasında örneğin ögrencinin adını çekmek için sadece ;
          şeklinde bir kod kullanıyorum ve siteyi açtıgımda ogrenciler.asp ye geldiğim zaman sadece veri tabanındaki ilk jişinin adı ve soyadını yazıyor işte ben bu ogrenciler.asp sayfasına hangi kodu yazarsam o index.html de girip onayla.asp de bunun dogru oldugunu ettiği kişinin bilgilerini yazdırabilirim :D karmaşık oldu acmaya çalışıyım :D ben şimdi şuan bu kodlarla kimin tc ve numarasını girersem girim ör. bu kodu kullandıgımda veri tabanındaki ilk kişinin soyadını yazıyor ama ben böyle olsun istemiyorum ör. 25 numaralı 123456 tc numaralı kişiyi girdiğimde o kişinin bilgilerini veri tabanından çeksin istiyorum :SSS

        • response90 diyor ki:

          O halde session kullanman gerek. Giriş yapan öğrencinin id’sini session(“id”)=rs(“Ogrid”) şeklinde onayla.asp de ataman gerekiyor.

          Ve bilgilerini çekerkende sorgunda where ogrid= session(“id”) şeklinde oluşturursan, giriş yapan öğrencinin bilgilerine ulaşırsın.

          Sessionlar ile ilgili bilgileri daha sonra bloğumda yazacağım ama, google da session işlemleri diye arattığında daha detaylı sonuçlar bulabilirsin.

          kolay gelsin.

  2. Serdar Karaca diyor ki:

    Merhaba,

    Burada ki veritabanı ne oluyor ? MS Access mi, mysql mi, mssql mi ?

    • Enver Yurtsever diyor ki:

      Ben burada MsSql veritabanı için connection string yazdım, access yada mysql için connection string değiştirdiğinizde aynı kodları kullanabilirsiniz.

  3. Erkan Can diyor ki:

    ilk önce çok güzel anlatmışsınız. Ancak benim sorun diyelim son iki veriyi listele dediğimizde 1.yol ve 2. yol dediğimiz yerleri kullanacağız. Ancak son iki veriden sonrakileri listele dersek o nasıl olacak. Şimdiden çok teşekkür ederim.

    • Enver Yurtsever diyor ki:

      kayıtları nasıl listelediğinizi bilmiyorum ama listelerken koşul koyabilirsiniz.
      öncelikle sorgunuz order by desc olmalı.

      eğer for ile listeliyorsanız.
      döngünün içine
      if not (i=0 or i=1) then

      end if
      şeklinde ilk 2 kayıtı göstermeyebilirsiniz.

Asp ile veritabanından veri çekmek Yazısı için Yorum Yapabilirsiniz