C# ile yaklaşık 3 gündür ilgileniyorum. Daha önce c,c++, php, asp, python bilgim vardı ve öğrenmesi gayet kolay oluyor. C# öğrenmeye başladığımda karşılaştığım en büyük problem, uygulamalarımda veri tabanları ile işlem yapmaktı.

Biraz araştırma yaptım ve bulduğum örnekler 'datagridview' ile yapılmaktaydı. Bense 'Listview' kullanarak programımı hazırlamıştım (Görsel açıdan daha hoş geldi). Biraz üstüne gidince basit bir program üzerinde c# öğrenmek isteyen arkadaşlarında işine yarayabileceğini düşündüğüm bir program yazdım. Programda tüm temel SQL komutları var (Ekleme, silme, arama).

Programı ve kaynak kodlarını indirmek için : TIKLAYIN

Program kodlarını aşağıda paylaştım fakat reklendirme işlemi olmadığı için okumanız biraz zor olacağından pdf olarak da hazırladım.

PDF'e ulaşmak için : TIKLAYIN

Programın bir görseli (Türkçe - İngilizce biraz karışık oldu ama kusura bakmayın.)





Şimdide program kodlarını paylaşayım.


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;
using System.Data.Sql;
using System.Data.SqlClient;




namespace o1
{

public partial class Form1 : Form
{
//sql bağlantısı
SqlConnection baglanti = new SqlConnection("Data Source=(local); Initial Catalog=persons; Integrated Security=true");

//verileri göster
private void verilerigoster()
{
listView1.Items.Clear();
baglanti.Open();
SqlCommand kmt = new SqlCommand("SELECT * FROM phone_numbers ", baglanti);
SqlDataReader rdr = kmt.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr["id"].ToString();
li.SubItems.Add(rdr["name"].ToString());
li.SubItems.Add(rdr["surname"].ToString());
li.SubItems.Add(rdr["phone_number"].ToString());
li.SubItems.Add(rdr["adress"].ToString());
listView1.Items.Add(li);
}
baglanti.Close();
}
// #verileri göster

// veri ara
private void ara(String text)
{
listView1.Items.Clear();
baglanti.Open();
SqlCommand kmt = new SqlCommand("SELECT * FROM phone_numbers where name like '%" + text + "%' or surname like '%" + text + "%'", baglanti);
SqlDataReader rdr = kmt.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr["id"].ToString();
li.SubItems.Add(rdr["name"].ToString());
li.SubItems.Add(rdr["surname"].ToString());
li.SubItems.Add(rdr["phone_number"].ToString());
li.SubItems.Add(rdr["adress"].ToString());
listView1.Items.Add(li);
}
baglanti.Close();
}
// #veri ara

//veri ekle
private void veriekle()
{
try
{
SqlConnection baglanti = new SqlConnection();
baglanti.ConnectionString = "Data Source=(local); Initial Catalog=persons; Integrated Security=true";
baglanti.Open();
string komut = "INSERT INTO phone_numbers(name,surname,phone_number,adress) values('" + textBox3.Text.ToString() + "','" + textBox2.Text.ToString() + "','" + textBox4.Text.ToString() + "','" + textBox5.Text.ToString() + "')";
SqlCommand komutSatiri = new SqlCommand(komut, baglanti);
komutSatiri.ExecuteNonQuery();
baglanti.Close();
}
catch(SqlException ex)
{
MessageBox.Show(ex.ToString());
}
}
// #veri ekle




// Veri sil
private void verisil()
{
String c = listView1.FocusedItem.SubItems[0].Text.ToString();
try
{
SqlConnection baglanti = new SqlConnection();
baglanti.ConnectionString = "Data Source=(local); Initial Catalog=persons; Integrated Security=true";
baglanti.Open();
string komut = "DELETE FROM phone_numbers where id = '" + c + "'";
SqlCommand komutSatiri = new SqlCommand(komut, baglanti);
komutSatiri.ExecuteNonQuery();
baglanti.Close();
verilerigoster();
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}

}
// #Veri sil



public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{
verilerigoster();
String verisayisi = listView1.Items.Count.ToString();
label5.Text = "Save Count : " + verisayisi;
}

private void button2_Click(object sender, EventArgs e)
{
if (textBox3.Text != "" && textBox2.Text != "" && textBox4.Text != "" && textBox5.Text != "")
{
veriekle();
verilerigoster();
}
else
{
MessageBox.Show("Hata : Tüm alanları doldurun!");
}
}

private void button3_Click(object sender, EventArgs e)
{
verisil();
}

private void button1_Click(object sender, EventArgs e)
{
String text = textBox1.Text.ToString();
ara(text);
}

private void button4_Click(object sender, EventArgs e)
{
verilerigoster();
textBox1.Text = "";
}

}
}