Formlarla e-okul (Kayıt ve Şifreli Giriş) C#.Net

Formlarla e-okul (Kayıt ve Giriş) C#.Net

form_eokul5

data isimli yukarıdaki resimde gösterilen alanlara sahip veritabanı dosyasını access’te (ver : 2003)  oluşturup projemizdeki bin klasörü içindeki debup klasörüne kopyalıyoruz. (tablo adı : bilgi olmalı)

form_eokul2

 

form_eokul1

 

form_eokul3

form_eokul4

Form1’e dataView ekliyoruz.Properties’den Modifiers’i Public yapıyoruz.(Toolbox’a dataView ekleme : Toolbox üzerinde sağ tık.Choose Items tıklıyoruz.Ekrana gelen menüden dataView bulup seçtikten sonra ok’liyoruz.)

Form1’e (Giriş)yazılacak kodlar :

[code lang=”csharp”]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace formlarla_e_okul
{
public partial class Form1 : Form
{
public Form2 frm2;
public Form3 frm3;
public Form1()
{
InitializeComponent();
frm2 = new Form2();
frm3 = new Form3();
frm2.frm1 = this;
frm3.frm1 = this;
}
public OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=data.mdb");//veritabanı bağlantısını yapıyorum
public OleDbCommand kmt = new OleDbCommand();//komut kullanabilmem için kmt değişkeni oluşturdum.
public OleDbDataAdapter adtr = new OleDbDataAdapter();//adaptörümü oluşturuyorum
public DataSet dtst = new DataSet();//sanal veritabanım datasetimi oluşturuyorum
//yukarıdaki tanımlamaları public yapmamın nedeni 3. formda kullanabilmek içindir.
public void liste()
{
bag.Open();//bağlantıyı aç
OleDbDataAdapter adtr = new OleDbDataAdapter("select * From bilgi", bag);//bag bağlantısındaki bilgi tablusunda bulunan bütün kayıtları seç.
adtr.Fill(dtst, "bilgi");//addaptörü datasetin bilgi tablosundaki kayıtlarla doldur.
dataView1.Table = dtst.Tables["bilgi"];//dataview!in tablosu datasetimdeki bilgi tablosudur
adtr.Dispose();
bag.Close();//bağlantıdan çık
}

Random rs = new Random();
public void rsayi()
{
label2.Text = rs.Next(10).ToString() + rs.Next(10).ToString() + rs.Next(10).ToString() + rs.Next(10).ToString();
//4 haneli 0 ile 10 arasında rastgele sayı üretilip label2 ye yazdırılıyor
}

private void Form1_Load(object sender, EventArgs e)
{
liste();
rsayi();
}

private void btnYenile_Click(object sender, EventArgs e)
{
rsayi();
}

private void btnGiris_Click(object sender, EventArgs e)
{
try
{
if (int.Parse(textBox1.Text) == int.Parse(label2.Text))
{
int kayit_no;
dataView1.Sort = "kullanici_adi";//Dataview1 i kullanici_adi alanına göre sıralar
kayit_no = dataView1.Find(textBox2.Text);//textbox2 e girilen kullanıcı adının dataview de(veritabanında) arar
if (kayit_no != -1)//arama ile gelen sonuç -1 den farklıysa yani o kullanıcı varsa
{
dataView1.Sort = "sifre";//button1 defa şifreye göre sıralıyoruz
kayit_no = dataView1.Find(textBox3.Text);//textbox3 e girilen şifre dataview de(veritabanında) arar
if (kayit_no != -1)//arama ile gelen sonuç -1 den farklıysa yani o kullanıcı varsa
{
frm2.Show();
this.Hide();
}
else label5.Text = "Kullanıcı adı veya şifre hatalı";//eğer aramada -1 üretilirse hata mesajının görüntülenmesini sağlıyor
}
else label5.Text = "Kullanıcı adı veya şifre hatalı";//yukarı ile aynı
}
else label5.Text = "Güvenlik Kodu hatalı";//yukarı ile aynı
}
catch
{
;//hata oluşursa hiçbirşey yapma
}
}

private void btnKayit_Click(object sender, EventArgs e)
{
this.Hide();
frm3.Show();
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
}
}

[/Code]

<span style="color: #ff0000;"><span style="text-decoration: underline;"><strong> </strong></span></span>

<span style="color: #ff0000;"><span style="text-decoration: underline;"><strong>Form2’e (Notlar) yazılacak kodlar :</strong></span></span>

<span style="color: #ff0000;"><strong> </strong></span>

[Code=’Csharp’]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace formlarla_e_okul
{
public partial class Form2 : Form
{
public Form1 frm1;
public Form2()
{
InitializeComponent();
}

private void btnHesapla_Click(object sender, EventArgs e)
{

try
{
label11.Text = ((int.Parse(textBox6.Text) + int.Parse(textBox7.Text) + int.Parse(textBox8.Text)) / 3).ToString();
label12.Text = ((int.Parse(textBox9.Text) + int.Parse(textBox10.Text) + int.Parse(textBox11.Text)) / 3).ToString();
label13.Text = ((int.Parse(textBox12.Text) + int.Parse(textBox13.Text) + int.Parse(textBox14.Text)) / 3).ToString();
label14.Text = ((int.Parse(textBox15.Text) + int.Parse(textBox16.Text) + int.Parse(textBox17.Text)) / 3).ToString();
//textler parse ile integer sayıya dönüştürülüp gerekli işlemler yapılıp string ifadeye dünüştürüldükten sonra labellere yazılıyor
}
catch
{
;
}
}
private void btnCikis_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}

[/code]

 

Form3’e (Kayıt) yazılacak kodlar :

[code lang=”csharp”]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace formlarla_e_okul
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
public Form1 frm1;

private void btn_Kaydet_Click(object sender, EventArgs e)
{

try
{
frm1.bag.Open();//form1deki bag isimli bağlantıyı aç
frm1.kmt.Connection = frm1.bag;//komutun bağlantısı form1deki bag bağlantısı
frm1.kmt.CommandText = "INSERT INTO bilgi(kullanici_adi,sifre) VALUES (‘" + textBox3.Text + "’,’" + textBox4.Text + "’) ";//veritabanına ekleme yapabilmek için yazılacak sorgu
frm1.kmt.ExecuteNonQuery();//sorguyu çalıştır.
frm1.kmt.Dispose();
frm1.bag.Close();
frm1.liste();
textBox3.Clear();
textBox4.Clear();
MessageBox.Show("Kayıt işlemi tamamlandı !");

}
catch
{
MessageBox.Show("Kayıt işlemi başarısız !"); ; //hata oluşursa mesaj göster
}

}

private void btn_Anasayfa_Click(object sender, EventArgs e)
{
frm1.Show();
this.Hide();
frm1.rsayi();

}
}
}

[/code]

Projeyi İNDİR

Yorumlar 4

  • Merhaba. E-okul programının sql bağlantılı ile yapılmış olanı var mı? Birde sql’den crytal report almayı nasıl yapabiliriz? Access ile raporlama oluyor ama sql ile bir türlü yapamdım. Yardımcı olurmusunuz?

  • Şu an itibarı ile yok. İleri derslerde yayınlayabiliriz. Kolay gelsin.

  • merhabalar oktay arkadaşımızın dedigi gibi benim ödevim var acsess2003 te e okul için örnek yapmak fakat mesela türkce dersinde 3 sınav 1 sözlü var bunu nasıl ayarlıcam bi türlü yapamıyorum hazır yaplmışı varsa link atarsanız sevinirim benim için cok büyük örnek olacaktır … Teşekkürler.

  • Mrblar. Katmanlı mimariyle SQL bağlantılı otomasyon örneği var mı acaba ?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir