Görsel Programlama 3 Otomasyon Kod Örnekleri FİNAL
Görsel programlama 3 dersi için hazırlamaya çalıştığımız otomasyon programı içinde kullandığımız bazı kod örnekleri
UYARI1 : vize sonrası bölümdeki satış alanını normal öğrenimde gösterilmedi diye biliyorum tüm derslere geldim ama ben bu işlemi yaptığımızı hatırlamıyorum hatırlayan arkadaş varsa bilgi verirse sevinirim. satış işlemini ikinci öğrenimlerden aldığım bilgilere göre hazırladım herhangi bir hata ihtimaline karşı kodları kontrol etmenizi öneririm.
UYARI2 : otomasyonda özellikle datagridview nesnelerine veri girişleri hemen hemen aynı fark sql cümlesinde ortaya çıkıyor sınavda ürünler yerine müşteriler şeklinde soru gelirse örneğin select * from urunler yerine select * from musteriler olarak belirtmeniz ve sonrasını standart datagridview doldurma işlemi şeklinde yapmanız yeterli.
Kullanıcı Giriş Doğrulama :
text kutu isimleri, Kullanıcı Adı : kadi , Şifre : sifre
1 2 3 4 5 6 7 8 9 10 |
if(kadi.Text == "Nurettin" && sifre.Text == "123456") { this.Close(); } else { MessageBox.Show("Hatalı Bilgi Girişi"); kadi.Text = ""; sifre.Text = ""; } |
SQL bağlantısı için kullanılan bağlantı cümlesi değişkeni
1 |
Public Static string baglanti_str = "Data source=pc_adi; Initial Catalog=db_adi; integrated Security=True"; |
Ürün Listesi:
Ürün listesi için veri tabanından veriler alınırken kategori tablosundan ürünün bağlı olduğu kategorinin ismi ve ürün tablosundan ürün bilgilerini alınıyor.
1 2 3 4 5 6 7 8 |
string sql = "Select u.u_id as 'Ürün No', k.k_ad as 'Kategori', u.u_ad as 'Ürün Adı', u.u_adet as 'Adet' from urunler2 as u left join kategori as k on u.u_k_id=k.k_id"; SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); SqlDataAdapter da = new SqlDataAdapter(sql, baglanti); DataSet ds = new DataSet(); baglanti.Open(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; baglanti.Close(); |
Ürün Listesini bir fonksiyon içinde kullanmak istersek (Fonksiyonun ismi fonk_urunlist olacak şekilde) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public void fonk_urunlist() { //SQL sorgusu için değişken tanımlanıyor. string sql = "Select u.u_id as 'Ürün No', k.k_ad as 'Kategori', u.u_ad as 'Ürün Adı', u.u_adet as 'Adet' from urunler2 as u left join kategori as k on u.u_k_id=k.k_id"; //SQL bağlantısı için değişken tanımlanıp baglanti_str ismindeki ana formda tanımlanan değişkendeki bağlantı cümlesi kullanılıyor. SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); //sql değişkeninde ki SQL sorgusu veri tabanına gönderiliyor. SqlDataAdapter da = new SqlDataAdapter(sql, baglanti); //SQL sorgusu sonunda dönecek olan veriler için DataSet değişkeni tanımlanıyor. DataSet ds = new DataSet(); //SQL bağlantısı yapılıyor. baglanti.Open(); //SQL sorgusu sonunda alınan ve DataSet içine aktarılan veriler ekleniyor. da.Fill(ds); //Aktarılan veriler DataGridView1 içine ekleniyor. dataGridView1.DataSource = ds.Tables[0]; //SQL Bağlantısı kapatılıyor. baglanti.Close(); } |
Kategori tablosundaki kategori bilgilerinin form üzerindeki combo box içinde gösterilmesi
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string sql = "Select * From kategori"; SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); SqlCommand sorgu = new SqlCommand(sql, baglanti); sorgu.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = sorgu; DataSet ds = new DataSet(); da.Fill(ds); cb_kategori.DataSource = ds.Tables[0]; cb_kategori.DisplayMember = "k_ad"; cb_kategori.ValueMember = "k_id"; baglanti.Close(); |
combo box için fonksiyon kullanımı (Fonksiyon ismi : fnk_combo_kategori)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public void fnk_combo_kategori() { //SQL sorgusu için değişken tanımlanıyor. Tüm kategori verileri alınıyor. string sql = "Select * From kategori"; //SQL bağlantısı için değişken tanımlanıp baglanti_str ismindeki ana formda tanımlanan değişkendeki bağlantı cümlesi kullanılıyor. SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); //SQL bağlantısı açılıyor. baglanti.Open(); //sql değişkeninde ki SQL sorgusu veri tabanına gönderiliyor. SqlCommand sorgu = new SqlCommand(sql, baglanti); //Sorgu sonucu dönen verilerin alım türü atanıyor. sorgu.CommandType = CommandType.Text; //SQL verileri için DataAdapter Tanımlanıyor. SqlDataAdapter da = new SqlDataAdapter(); //Kayıtları seçebilmek için SelectCommand tanımlanıyor. da.SelectCommand = sorgu; //SQL sorgusu sonunda dönecek olan veriler için DataSet değişkeni tanımlanıyor. DataSet ds = new DataSet(); //SQL sorgusu sonunda alınan ve DataSet içine aktarılan veriler ekleniyor. da.Fill(ds); //Kategori verileri combo box nesnesine ekleniyor. cb_kategori.DataSource = ds.Tables[0]; //Combo box listesinde gösterilecek kategori ismi tanımlanıyor cb_kategori.DisplayMember = "k_ad"; //Combo box listesindeki gösterimin değeri tanımlanıyor. cb_kategori.ValueMember = "k_id"; //SQL Bağlantısı kapatılıyor. baglanti.Close(); } |
Ürün veri tabanına ekleme işlemi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
private void button1_Click(object sender, EventArgs e) { SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); string sorgu = "insert into urunler2 values ('"+txt_urunadi.Text+"','"+Convert.ToInt32(cb_kategori.SelectedValue)+"','"+Convert.ToInt32(txt_urunadet.Text)+"','')"; SqlCommand komut = new SqlCommand(sorgu, baglanti); komut.ExecuteNonQuery(); komut.Dispose(); baglanti.Close(); MessageBox.Show(txt_urunadi.Text + " isimli ürün kaydı yapıldı"); txt_urunadi.Text = ""; txt_urunadet.Text = ""; fonk_urunlist(); } |
Ürün veri tabanından silme işlemi
1 2 3 4 5 6 7 8 9 10 11 12 13 |
private void silToolStripMenuItem_Click_1(object sender, EventArgs e) { int a = Convert.ToInt32(dataGridView1.CurrentRow.Cells["Ürün No"].Value); SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); string sorgu = "delete from urunler2 where u_id="+a; SqlCommand komut = new SqlCommand(sorgu, baglanti); komut.ExecuteNonQuery(); komut.Dispose(); baglanti.Close(); MessageBox.Show("Ürün Silindi"); fonk_urunlist(); } |
Vize Sonrası
Düzenleme işlemi
Not : Düzenleme işlemi için oluşturulan düzenleme pencerese içinde bir tane public int olacak değişken tanımlanması gerekiyor bu değişkene listeden seçili kaydın ID’si alınıp aktarılacak önce aktarma işlemi için context menü sağ tık düzenle işlemine burada değişken gelen_uid olarak tanımlandı.
1 2 3 4 5 6 7 |
private void düzenleToolStripMenuItem_Click(object sender, EventArgs e) { int a = Convert.ToInt32(dataGridView1.CurrentRow.Cells["Ürün No"].Value); urun_duzenle ud = new urun_duzenle(); ud.gelen_uid = a; ud.ShowDialog(); } |
bu işlemden sonra urun_duzenle formunda gelen_uid olarak tanımladığımız değişkene ürün listesinde seçili kaydın ID numarası aktarılmış oldu şimdi bu kayıttaki verileri alıp formda kullanmak için veri tabanından çekmemiz gerekiyor. çekilen verileri form içindeki ilgili alanlara dolduruyoruz. (kategori,ürün ismi,ürün stok adeti)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
string sql = "Select * From urunler where u_id="+gelen_uid; SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); SqlCommand sorgu = new SqlCommand(sql, baglanti); SqlDataReader rd = sorgu.ExecuteReader(); rd.Read(); if(rd.HasRows == true) { cb_kategori.SelectedValue = (Convert.ToInt32(rd["u_k_id"])); txt_urunadi.Text = Convert.ToString(rd["u_ad"]); txt_urunadet.Text = Convert.ToString(rd["u_adet"]); } else { MessageBox.Show("Belirtilen " + gelen_uid + " Numaralı ürün Kaydı Bulunamadı"); } |
Güncelleme işlemi : gelen_uid değişkenimizdeki değer hala saklı olduğu için ondaki kayıt ile birlikte güncelleme yap butonuna basıldıktan sonra
1 2 3 4 5 6 7 8 9 10 11 12 |
private void btn_guncelle_Click(object sender, EventArgs e) { SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); string sorgu = "update urunler2 set u_ad='" + txt_urunadi.Text + "', u_k_id='" + Convert.ToInt32(cb_kategori.SelectedValue) + "', u_adet='" + Convert.ToInt32(txt_urunadet.Text) + "' where u_id="+gelen_uid; SqlCommand komut = new SqlCommand(sorgu, baglanti); komut.ExecuteNonQuery(); komut.Dispose(); baglanti.Close(); MessageBox.Show("Ürün Güncellendi"); this.Close(); } |
Kayıtlar içinde arama ve arama sonucunun DataGridView nesnesine eklenmesi : Hazırlanan örnek txt_u_arama isminde bir textbox içindir. burada txt_u_arama ismindeki textbox içindeki yazı değiştikçe dataGridView1 nesnesindeki kayıtların arama sonucu verilerini listelemesini sağlayacak kod:
1 2 3 4 5 6 7 8 9 10 11 |
private void txt_u_arama_TextChanged(object sender, EventArgs e) { string arama_sql = "select u_id as 'Ürün No', k_adi as 'Kategori' , u_adi as 'Ürün Adı' , u_adeti as 'Adet' from urunler left join kategoriler on k_id=u_kid where k_adi like '%" + txt_u_arama.Text + "%'"; SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); baglanti.Open(); SqlDataAdapter da = new SqlDataAdapter(arama_sql, baglanti); DataSet ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; baglanti.Close(); } |
Genişletilmiş arama ürün, müşteri ve satış tabloları içinde arama yapan kod dataGridViewS isimli satışların listesinin bulunduğu gridview verilerinin txt_s_arama isimli textbox nesnesindeki değişime göre yeniden verilerin listelenmesini sağlayan kod. burada arama Müşteri Adı, Müşteri Soyadı, Ürün Adı, Kategori Adı ve Satış adetine göre yapılıyor “or (veya)” ile yapıldığı için herhangi biri ile uyumlu olması listelenmesi için yeterli.
1 2 3 4 5 6 7 8 9 10 11 12 |
private void txt_s_arama_TextChanged(object sender, EventArgs e) { string liste_sql = "select s_id as 'Satış No' , m_adi+' '+m_soyadi as 'Müşteri' , k_adi as 'Kategori' , u_adi as 'Ürün' , satis.u_adet as 'Adet' from satis left join musteri on satis.m_id=musteri.m_id left join urunler on satis.u_id=urunler.u_id left join kategoriler on kategoriler.k_id=urunler.u_kid where m_adi like '%" + txt_s_arama.Text + "%' or m_soyadi like '%" + txt_s_arama.Text + "%' or u_adi like '%" + txt_s_arama.Text + "%' or k_adi like '%" + txt_s_arama.Text + "%' or satis.u_adet like '%" + txt_s_arama.Text + "%' "; SqlConnection baglanti = new SqlConnection(anaform.baglanti_str); SqlDataAdapter da = new SqlDataAdapter(liste_sql, baglanti); DataSet ds = new DataSet(); baglanti.Open(); da.Fill(ds); dataGridViewS.DataSource = ds.Tables[0]; baglanti.Close(); } |
Ürün Satış işlemi:
Satış işlemi için satış formunda müşterilerin listesinin olduğu DataGridViewM nesnesi, Ürünlerin listesinin olduğu DataGridViewU nesnesi, satışların listesinin olduğu DataGridViewS nesnesi ve satış adeti için txt_adet isminde textbox var. satış işlemi için müşteri ve ürün seçildikten sonra adet girilip satış yap butonuna tıklanıyor. m_id ile seçili satırdaki müşteri ID , u_id ile seçili satırdaki ürün ID verileri alınıyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
private void btn_satis_yap_Click(object sender, EventArgs e) { int m_id = Convert.ToInt32(DataGridViewM.CurrentRow.Cells["Müşteri No"].Value); int u_id = Convert.ToInt32(DataGridViewU.CurrentRow.Cells["Ürün No"].Value); if ((m_id > 0) && (u_id > 0) && (txt_adet.Text != "")) { int adet = Convert.ToInt32(txt_adet.Text); string sql = " insert into satis values(" + u_id + "," + m_id + "," + adet + ")"; SqlConnection baglanti = new SqlConnection(anaform.baglanti); baglanti.Open(); SqlCommand sorgu = new SqlCommand(sql, baglanti); sorgu.ExecuteNonQuery(); sorgu.Dispose(); baglanti.Close(); MessageBox.Show("Satış Yapıldı"); //Satışların olduğu DataGridViewS listesi güncellenecek fnk_listele_satis(); } else { MessageBox.Show("Bilgiler hatalı!"); } } |