C# Veritabanından(Access) Rastgele Fotoğraf Çekmek.

helyumgazi

Üye
Katılım
1 Nis 2013
Mesajlar
22
Puanları
1
Evet arkadaşlar. C# ile bir program yazıyorum. Butona bastığımda veritabanından rastgele fotoğraf çekmesi lazım. Ancak butona bastığımda sadece bir fotoğraf geliyor tekrar bastığımda fotoğraf değişmiyor. Aynı fotoğraf kalıyor. Ben butona her bastığımda bu fotoğrafın değişmesi için ne yapabilirim?
 
Random var onu kullanabilirsin dersin randow a= new random();
a.nexint(buraya access sırano yaz yani resim adresi gibi, sınır belirle buraya sıra no olarak );
 
Random var onu kullanabilirsin dersin randow a= new random();
a.nexint(buraya access sırano yaz yani resim adresi gibi, sınır belirle buraya sıra no olarak );

Hocam yazdığın kodda hata var sanki? Ben sana kodlarımı vereyim istersen işimiz daha kolaylaşır.

Kod:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=veritabani.mdb;");
        OleDbCommand cmd;
private void button1_Click(object sender, EventArgs e)
        {

            cmd = new OleDbCommand("SELECT TOP 8 * FROM tablom ORDER BY RND(id)", con);
            con.Open(); OleDbDataReader rdr = cmd.ExecuteReader();
            rdr.Read();
      

            if (rdr.HasRows)
            {
                label1.Text = rdr[1].ToString();
                label2.Text = rdr[2].ToString();
                label3.Text = rdr[3].ToString();
                pictureBox1.ImageLocation = label2.Text + label3.Text;
            }

            else
            {
                MessageBox.Show("Resim Bulunamadı");
            }
            con.Close();
        }
 
Kod:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=veritabani.mdb;");
        OleDbCommand cmd;
private void button1_Click(object sender, EventArgs e)
        {

            cmd = new OleDbCommand("SELECT TOP 8 * FROM tablom ORDER BY RND(id)", con);
            con.Open(); OleDbDataReader rdr = cmd.ExecuteReader();
            rdr.Read();
     

            if (rdr.HasRows)
            {
                label1.Text = rdr[1].ToString();
                label2.Text = rdr[2].ToString();
                label3.Text = rdr[3].ToString();
                pictureBox1.ImageLocation = label2.Text + label3.Text;
            }

            else
            {
                MessageBox.Show("Resim Bulunamadı");
            }
            con.Close();
        }

Şu koda bir döngü oluşturabileceğimizi düşünüyorum ancak bu döngüyü ne ile kuracağımı çözemedim. Biraz yardımcı olursanız şahane olur.
 
Sql Cümlendeki "SELECT TOP 8 * FROM tablom ...." ifadesini "SELECT * FROM tablom ..." olarak değiştirmeyi denermisi böyle kendini 8 ile sınırlı bırakmayacaksın.
 

Forum istatistikleri

Konular
128,198
Mesajlar
915,767
Kullanıcılar
449,979
Son üye
schule48

Yeni konular

Geri
Üst