Bilgi Yarışması Örneği(C# ve SQL Server ile)

C# programlama dili ve SQL Server veritabanı kullanılarak kolay,orta ve zor kategorilerinde bulunan soru havuzundan 5  soruluk bilgi yarışması örneği için tıklayınız.

Örnek veritabanında sorular Kolay -Orta ve Zor olacak şekilde 3 kategoriye ayrılmıştır. Her kategoriye bir kaç soru yazılmıştır.

Veritabanı şeması aşağıdaki gibidir.

Veritabanı Tabloları

Veritabanı Tabloları

 

 

 

 

 

 

 

Program çalışmaya başladığında Yarışmayı başlat butonu ile yarışma başlamaktadır. Kullanıcıya toplam 5 soru rastgele kategorilerden sorulmaktadır. Kullanıcı soruya doğru cevap verirse 10 puan kazanmaktadır. Eğer cevap doğru ise buton yeşil, yanlış ise buton kırmızı renk olmaktadır.

Uygulama ile ilgili ekran görüntüleri aşağıdadır.

Uygulama BaşlamaEkranı

Uygulama BaşlamaEkranı

 

 

Soru Örneği

Soru Örneği

 

 

 

 

 

 

 

 

 

 

 

Doğru Cevap Verilince

Doğru Cevap Verilince

 

 

 

 

 

 

 

 

 

 

 

Yanlış Cevap Verilince

Yanlış Cevap Verilince

 

 

 

 

 

 

 

 

 

 

 

Uyuglama 2 farklı sınıftan oluşmaktadır…

Uygulamanın Kodları:

Veritabaniislemleri.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace bilgi_yarismasi
{
class veritabaniislemleri
{
SqlConnection conn = new SqlConnection(“Data Source=.\\SQLEXPRESS; Initial Catalog=bilgi_yarismasi; Integrated Security=true;”);

public void baglantiAc()
{
conn.Open();
}
public void baglantiKapat()
{
conn.Close();
}

public SqlDataReader bilgi(string sorgu)
{
SqlCommand cmd = new SqlCommand(sorgu, conn);
SqlDataReader rdr = cmd.ExecuteReader();
return rdr;
}

}
}

Form1.Cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Media;

namespace bilgi_yarismasi
{
public partial class Form1 : Form
{
int sayac = 0, puan = 0;
veritabaniislemleri dbase = new veritabaniislemleri();
public Form1()
{
InitializeComponent();
}
private void butonlarAktif()
{
foreach (Control nesne in this.Controls)
{
if (nesne is Button)
{
Button buton= (Button)nesne;
buton.Enabled = true;
buton.BackColor = SystemColors.Control;
}
}
}
private void butonlarPasif()
{
foreach (Control nesne in this.Controls)
{
if (nesne is Button)
{
Button buton = (Button)nesne;
buton.Enabled = false;
}
}
button5.Enabled = true;
}
public void sorugetir()
{
string[] sorutipi={“Kolay”,”Orta”,”Zor”};
Random rnd = new Random();
int sorutipisec = rnd.Next(0,2);
string secilensorutipi = sorutipi[sorutipisec].ToString();
dbase.baglantiAc();
sayac++;
string sorgu = “select * from “+secilensorutipi+” order by NEWID()”;
lblsoruno.Text = sayac.ToString();
SqlDataReader rdr = dbase.bilgi(sorgu);
while (rdr.Read())
{
textBox1.Text = rdr[“soru”].ToString();
button1.Text = rdr[“a”].ToString();
button2.Text = rdr[“b”].ToString();
button3.Text = rdr[“c”].ToString();
button4.Text = rdr[“d”].ToString();
lblcevap.Text = rdr[“dogruCevap”].ToString();
}
dbase.baglantiKapat();
}

private void button5_Click(object sender, EventArgs e)
{
butonlarAktif();
if (sayac >= 1) button5.Text = “Sonraki Soru”;
if (sayac >= 4) button5.Enabled = false;
sorugetir();

}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == lblcevap.Text)
{
button1.BackColor = Color.Green;
puan += 10;
label2.Text =”PUAN :” + puan.ToString();
}
else
{ button1.BackColor = Color.Red; }
butonlarPasif();
if (sayac >= 5) button5.Enabled = false;
}

private void button2_Click(object sender, EventArgs e)
{
if (button2.Text == lblcevap.Text)
{
button2.BackColor = Color.Green;
puan += 10;
label2.Text = “PUAN :”+puan.ToString();
}
else
{ button2.BackColor = Color.Red; }
butonlarPasif();
if (sayac >= 5) button5.Enabled = false;
}
private void button6_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
if (button3.Text == lblcevap.Text)
{
button3.BackColor = Color.Green;
puan += 10;
label2.Text = “PUAN :” + puan.ToString();
}
else
{ button3.BackColor = Color.Red; }
butonlarPasif();
if (sayac >= 5) button5.Enabled = false;
}
private void button4_Click(object sender, EventArgs e)
{
if (button4.Text == lblcevap.Text)
{
button4.BackColor = Color.Green;
puan += 10;
label2.Text = “PUAN :” + puan.ToString();
}
else
{ button4.BackColor = Color.Red; }
butonlarPasif();
if (sayac >= 5) button5.Enabled = false;
}
}
}

 

 

admin