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;
//BU YUKARIDAKİLERİN HEPSİ NAMESPACE'DİR. BURADA KULLANMIŞ OLDUĞUN KODLAR HANGİ NAMESPACEYİ İSTİYORSA ORDAN ÇEKERSİN.
namespace Komutla_data_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//FORM'UN İLK OLUŞTURULDUĞUNDA ÇALIŞACAK KODLAR BURDA YER ALIR (CONSRUCTOR)
}
OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=data.mdb");
//OLEDBCONNECTION İLE BAĞLANTI NESNESİ OLUŞTURUR
OleDbCommand kmt = new OleDbCommand();
//OLEDBCOMMAND İLE COMMAND NESNESİ OLUŞTURUR
OleDbDataAdapter adtr = new OleDbDataAdapter();
//DATAADAPTER NESNESİ OLUŞTURUR
DataSet dtst = new DataSet();
//DATASET NESNESİ OLUŞTURUR
void listelesene()
{
bag.Open();
//YUKARIDA OLUŞTURDUĞUMUZ BAĞLANTIYI AÇIYORUZ
/* bag.Open() yerine
if(bag.State == ConnectionState.Closed)
bag.Open();
kullanmanı tavsiye ederim çünkü bağlantı açık kalırsa ve 2. kere açacaksın bu durumda hata alırsın
*/
OleDbDataAdapter adtr = new OleDbDataAdapter("select * From kitapbil", bag);
//SQL SORGUSU İLE DATAADAPTER'İN İÇİNE AKTARIYORUZ
adtr.Fill(dtst, "kitapbil");
//DATASET İÇİNE FİLL EDİYORUZ
dataGridView1.DataSource = dtst;
dataGridView1.DataMember = "kitapbil";
//GELEN DATALARI GRİD İÇİNDE GÖSTERİYORUZ
adtr.Dispose();
bag.Close();
//DATAADAPTER VE BAĞLANTIYI KAPATIYORUZ
}
void texteyaz()
{
textBox9.Text = (this.BindingContext[dtst, "kitapbil"].Position+1) + " / " + this.BindingContext[dtst, "kitapbil"].Count;
//DATALARI TEXTBOXA YAZDIRIR
}
private void Form1_Load(object sender, EventArgs e)
{
//BURASI FORMUN İLK YÜKLEDİĞİ HALİDİR YUKARIDAKİ CONTRUCTOR İLE FARKLIDIR. CONSRUCTOR FORM YÜKLENMEDEN ÖNCE ÇALIŞIR
listelesene();
texteyaz();
textBox1.DataBindings.Add("Text", dtst, "kitapbil.Kitap_NO");
textBox2.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Adi");
textBox3.DataBindings.Add("Text", dtst, "kitapbil.Yazar_Adi");
textBox4.DataBindings.Add("Text", dtst, "kitapbil.Yayin_Evi");
textBox5.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Turu");
textBox6.DataBindings.Add("Text", dtst, "kitapbil.Baski_Sayisi");
textBox7.DataBindings.Add("Text", dtst, "kitapbil.Stok_Sayisi");
textBox8.DataBindings.Add("Text", dtst, "kitapbil.Gelis_Tarihi");
}
private void button2_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
if (c is TextBox)
if (c.Text == "")
{
MessageBox.Show("Alanları Doldurunuz.");
return;
}
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "INSERT INTO kitapbil(Kitap_No,Kitap_Adi,Yazar_Adi,Yayin_Evi,Ki tap_Turu,Baski_Sayisi,Stok_Sayisi,Gelis_Tarihi) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "') ";
kmt.ExecuteNonQuery();
//EXECUTENONQUERY KOMUTU DATABASEDE KAYITEKLEME, UPDATE VE SİLME İŞLEMLERİNDE KULLANILIR
kmt.Dispose();
bag.Close();
dtst.Clear();
listelesene();
texteyaz();
}
private void button3_Click(object sender, EventArgs e)
{
DialogResult cevap;
cevap = MessageBox.Show("Kaydı silmek istediğinizden emin misiniz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (cevap == DialogResult.Yes)
{
bag.Open();
kmt.Connection = bag;
kmt.CommandText = "DELETE from kitapbil WHERE Kitap_No='" + textBox1.Text + "'";
kmt.ExecuteNonQuery();
kmt.Dispose();
bag.Close();
dtst.Clear();
listelesene();
texteyaz();
}
}
private void button1_Click(object sender, EventArgs e)
{
this.BindingContext[dtst, "kitapbil"].AddNew();
}
private void button4_Click(object sender, EventArgs e)
{
bag.Open();
kmt.CommandText = "UPDATE kitapbil SET Kitap_Adi='" + textBox2.Text + "',Yazar_Adi='" + textBox3.Text + "',Yayin_Evi='" + textBox4.Text + "',Kitap_Turu='" + textBox5.Text + "',Baski_Sayisi='" + textBox6.Text + "',Stok_Sayisi='" + textBox7.Text + "',Gelis_Tarihi='" + textBox8.Text + "' WHERE Kitap_No='" + textBox1.Text + "'";
kmt.Connection = bag;
kmt.ExecuteNonQuery();
kmt.Dispose();
bag.Close();
dtst.Clear();
listelesene();
texteyaz();
}
private void button8_Click(object sender, EventArgs e)
{
this.BindingContext[dtst, "kitapbil"].Position += 1;
texteyaz();
}
private void button9_Click(object sender, EventArgs e)
{
this.BindingContext[dtst, "kitapbil"].Position = this.BindingContext[dtst, "kitapbil"].Count;
texteyaz();
}
private void button6_Click(object sender, EventArgs e)
{
this.BindingContext[dtst, "kitapbil"].Position = 0;
texteyaz();
}
private void button7_Click(object sender, EventArgs e)
{
this.BindingContext[dtst, "kitapbil"].Position -= 1;
texteyaz();
}
private void button10_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
if (c is TextBox)
c.Text = "";
}
private void button5_Click(object sender, EventArgs e)
{
Application.Exit();
//UYGULAMADAN ÇIKAR AMA Environment.Exit(-1) KULLANMANI TAVSİYE EDERİM
//BÜTÜN KODLARIN HEPSİNE YAZMADIM ÇÜNKÜ YAZDIKLARIMIN HEPSİNDEN VAR.
}
}
}