• 20-04-2009, 01:13:59
    #1
    Üyeliği durduruldu
    Selam, mdb dosyasından rastgele veri çekebilirmiyim?
  • 20-04-2009, 01:17:34
    #2
    şeklinde sql sorguları ile yapabilirsiniz. Google'da sql rastgele veri şeklinde arama yaparsanız çeşitli örneklere ulaşabilirsiniz.
  • 20-04-2009, 01:21:28
    #3
    Alabilirsin örnekteki gibi,

    <%
            Const adCmdText = &H0001
            sql = "SELECT RANDOMDATA FROM RANDOMTABLE"
            rs.Open sql, connstr , 3, , adCmdText
    	Randomize Timer
    	intRnd = (Int(RND * rs.RecordCount))
    	rs.Move intRnd
    	Response.Write "<b>" & rs("RANDOMDATA ") & "</b>"
    %>
  • 20-04-2009, 01:22:13
    #4
    OfisSoft adlı üyeden alıntı: mesajı görüntüle
    select * from tablo adı order by RAND() limit 0,1
    şeklinde sql sorguları ile yapabilirsiniz. Google'da sql rastgele veri şeklinde arama yaparsanız çeşitli örneklere ulaşabilirsiniz.
    MDB'de limit 0,1 var mı? Bilgim yok bu konuda.
  • 20-04-2009, 01:27:49
    #5
    Üyeliği durduruldu
    Sql, bilgi bloklarını sorgulamak için tasarlanmış bir dildir; rastgele bilgi çeksin diye değil. SQL cümlesi içinde RAND fonksiyonu kullanmak gereksiz.

    https://www.r10.net/asp-hazir-kodlar/...eri-cekme.html
    http://www.asprehberi.net/icerik/2164.html
    http://baybul.com/asp/46022-asp-rasg...ri-cekmek.html
  • 20-04-2009, 01:37:31
    #6
    obidergi adlı üyeden alıntı: mesajı görüntüle
    Sql, bilgi bloklarını sorgulamak için tasarlanmış bir dildir; rastgele bilgi çeksin diye değil. SQL cümlesi içinde RAND fonksiyonu kullanmak gereksiz.
    Bilgi bloklarını sorgulamak için tasarlanmıştır ama rastgele bir resim seçmek için mecburen random bilgi çekilmesi gerekmektedir. Birçok kişide kullanmaktadır. Baktığım kadarıyla da mdb'de limit 1 yok, mssql'deki gibi top var. Aşağıdaki sql'ide deniyebilirsin.

    sql="SELECT top 1 ID,RANDOMDATA FROM RANDOMTABLE ORDER BY rnd(ID), RANDOMDATA"
  • 20-04-2009, 01:40:24
    #7
    Üyeliği durduruldu
    10 satır içinden RAND ile çektir istersen, ama 10.000 satırda SQL falan kalmaz, saniyeler sürer işlem. Koyduğum linklere bakarsan daha iyi sonuçlar görebilirsin.

    İsteyen araştırıp performans testlerine de bakabilir.
  • 20-04-2009, 01:45:21
    #8
    obidergi adlı üyeden alıntı: mesajı görüntüle
    10 satır içinden RAND ile çektir istersen, ama 10.000 satırda SQL falan kalmaz, saniyeler sürer işlem. Koyduğum linklere bakarsan daha iyi sonuçlar görebilirsin.
    İsteyen araştırıp performans testlerine de bakabilir.
    Performans olarak muhakak öyledir. Performansı düşüreceği kesindir. 80.575.646 kayıt arasında rand ile rastgele bir verinin getirme süresi mssql'de 36 saniyedir. Madem konumuz performansa geldi. Birazdan güzel bir kod yazıp koyuyorum buraya. 5 dakika müsade.
  • 20-04-2009, 02:02:16
    #9
     
    sql = "SELECT rows AS TABLECOUNT FROM sysindexes WHERE id = OBJECT_ID('TABLENAME') AND indid < 2"
      rs.open sql,conn
      SQLCount = rs("TABLECOUNT ")
      Response.Write ("Toplam Kayıt : " & SQLCount &"<br>")
      rs.close
      Randomize Timer
      intRnd = (Int(RND * SQLCount))
      sql = "SELECT * FROM TABLENAME WHERE PK ="&intRnd
      rs.open sql,conn
    Buyrun...