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
129,903
Mesajlar
931,173
Kullanıcılar
452,789
Son üye
yigitt.m

Çevrimiçi üyeler

Geri
Üst