Ado. Net Depo Otomasyon 2 bölüm

Hiç yorum yok

 Merhaba

 Ado.Net Otomasyon Senaryomuzun 2 bölümü 




using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;


namespace DepoStokJoin

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }


        private void Form2_Load(object sender, EventArgs e)

        {

            TedarikciGetir();

            KategoriGetir();

        }

        SqlConnection cnn = new SqlConnection("Data Source=DESKTOP-F7P5CJL\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");

public void TedarikciGetir()
        {
            SqlCommand cmd = new SqlCommand("Select * from Tedarikciler", cnn);
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                ComboMain cmb = new ComboMain();
                cmb.Text = rdr["SirketAdi"].ToString();
                cmb.Value = rdr["TedarikciID"];
                cmbTedarikci.Items.Add(cmb);
            }
            cnn.Close();


        }

        public void KategoriGetir()
        {
            SqlCommand cmd = new SqlCommand("Select * From Kategoriler", cnn);

           
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    ComboMain cmb = new ComboMain();
                    cmb.Text = rdr["KategoriAdi"].ToString();
                    cmb.Value = rdr["KategoriID"];
                    cmbKategori.Items.Add(cmb);
                }
            }
            cnn.Close();
        }


        public void UrunDetayGetir(string ID)
        {
            pnlDuzenle.Visible = true;
            pnlIptal.Visible = false;

            
            SqlCommand cmd = new SqlCommand("Select u.UrunID,u.UrunAdi,t.SirketAdi,k.KategoriAdi," +
                "u.BirimdekiMiktar,u.BirimFiyati,u.Sonlandi from Urunler as u inner join Kategoriler as k" +
                " on u.KategoriID=k.KategoriID join Tedarikciler as t on u.TedarikciID=t.TedarikciID where u.UrunID=@UID",cnn);
            cmd.Parameters.AddWithValue("@UID", ID);
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    //Panel 1 Doldurma
                    lblUrunID.Text= rdr["UrunID"].ToString();
                    lblUrunAdi.Text= rdr["UrunAdi"].ToString();
                    lblTedarikciAdi.Text= rdr["SirketAdi"].ToString();
                    lblKategoriAdi.Text= rdr["KategoriAdi"].ToString();
                    lblBirimMiktar.Text= rdr["BirimdekiMiktar"].ToString();
                    lblBirimFiyat.Text= rdr["BirimFiyati"].ToString();
                    lblSonlandi.Text= rdr["Sonlandi"].ToString();
                    //Panel2 doldurma Kısmı
                    lblUrunID2.Text = rdr["UrunID"].ToString();
                    txtUrunAdi.Text = rdr["UrunAdi"].ToString();
                    txtBirimFiyat.Text = rdr["BirimFiyati"].ToString();
                    txtBirimMiktar.Text = rdr["BirimdekiMiktar"].ToString();
                     chckSonlandi.Checked = Convert.ToBoolean(rdr["Sonlandi"].ToString());
                    cmbKategori.Text = rdr["KategoriAdi"].ToString();
                    cmbTedarikci.Text = rdr["SirketAdi"].ToString();

                }
            }
            else
            {
                MessageBox.Show("Data Okunamadı");
            }
            cnn.Close();

        }
   private void btnSil_Click(object sender, EventArgs e)
        {
           DialogResult sonuc= MessageBox.Show("Silmek İstediğinizden Emin misiniz?", "Onay", MessageBoxButtons.YesNo);
            if (sonuc==DialogResult.Yes)
            {
                SqlCommand cmd = new SqlCommand("Delete from Urunler where UrunID=@UID", cnn);
                cmd.Parameters.AddWithValue("@UID", lblUrunID.Text);

                cnn.Open();
                int etkilenensatirsayisi = cmd.ExecuteNonQuery();
                if (etkilenensatirsayisi > 0)
                {
                    MessageBox.Show("Veri Silindi");
                    Form1 frm = Application.OpenForms["Form1"] as Form1;
                    frm.UrunleriGetir();
                    
                }
                else
                {
                    MessageBox.Show("Veri Silinemedi");
                }

                cnn.Close();
            }
            else
            {
                this.Close();
            }
        }
 private void btnDuzenle_Click(object sender, EventArgs e)
        {
            pnlDuzenle.Visible = false;
            pnlIptal.Visible = true;
           
        }
  private void btnIptal_Click(object sender, EventArgs e)
        {
            pnlIptal.Visible = false;
            pnlDuzenle.Visible = true;
        }
 private void btnGuncelle_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand("Update Urunler set UrunAdi=@UrunAdi,TedarikciID=@TedID," +
                "KategoriID=@KatID,BirimdekiMiktar=@Miktar,BirimFiyati=@fiyat,Sonlandi=@Son where UrunID=@UID", cnn);
            cmd.Parameters.AddWithValue("UID", lblUrunID2.Text);
            cmd.Parameters.AddWithValue("@UrunAdi", txtUrunAdi.Text);

            ComboMain cmbted=   cmbTedarikci.SelectedItem as ComboMain;
            cmd.Parameters.AddWithValue("@TedID", cmbted.Value);

            ComboMain cmbkat = cmbKategori.SelectedItem as ComboMain;
            cmd.Parameters.AddWithValue("@KatID", cmbkat.Value);

            cmd.Parameters.AddWithValue("@Miktar", txtBirimMiktar.Text);

            SqlParameter prm = new SqlParameter("@Fiyat", SqlDbType.Money);
            prm.Value = txtBirimFiyat.Text;

            cmd.Parameters.Add(prm);

            cmd.Parameters.AddWithValue("@Son",chckSonlandi.Checked);
            cnn.Open();
            int etkilelenensatirsayisi=cmd.ExecuteNonQuery();

            if (etkilelenensatirsayisi > 0)
            {
                MessageBox.Show("Güncelleme İşlemi Gerçekleşti");
                Form1 frm = Application.OpenForms["Form1"] as Form1;
                frm.UrunleriGetir();
            }
            else
            {
                MessageBox.Show("Veri güncellemnemedi");
            }
            cnn.Close();


        }
    }
}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace DepoStokJoin

{

    public class ComboMain

    {

        public string Text { get; set; }


        public object Value { get; set; }


        public override string ToString()

        {

            return Text;//Ekrana Comboboxdaki Şirket adi veya KategoriAdinı almak için yaptık

        }

    }

}


Erdem Yazılım Lisesi Öğrencileri için hazırlanmıştır 





Hiç yorum yok :

Ado.Net Depo Otomasyon

Hiç yorum yok

 Merhaba Arkadaşlar ;


Bu bölümde bir senaryo ele alıp bu senaryoya göre Windows Application'ımız üzerinde ilerliyor olacağız.

Senaryo 

Senaryo ;

Öğrencilerimizden Selim ABC isimli yazılım firmasında işe başlamıştır. Selim'den istenen ülkeler arası taşımacılık yapan DEFG isimli firmanın deposuna gerekli yazılımı yapmasıdır.

Depo elamanı Mike 'ın depodaki ürünlerin listeni görebileceği bir ekran tasarlanması ve bu ekran üzerinde seçili ürüne tıklayıp detayını görmesi ,stok miktarı azalmış ise yada ürün isminde ,tedarikçisinde ,kategorisinde bir değişik olduğunda güncelleyebilmesi ve stoklarını takip edip gereken uyarıyı zamanından önce üst kademesine yada tedarikçi firmaya bildirebilmesidir.

Bu nedenle aşağıdaki formların tasarım ekranlarını yapmanız beklenmektedir. Daha sonra projemizin kod ekranlarını sınıf ortamında bir Database oluşturup yazıyor olacağız.


Ekran Tasarımlarımız 








form1 code behind 


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

namespace DepoStokJoin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

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

        public void UrunleriGetir()
        {
            lsvListe.Items.Clear();
            SqlConnection cnn = new SqlConnection("Data Source=DESKTOP-F7P5CJL\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");

            SqlCommand cmd = new SqlCommand("Select u.UrunID,u.UrunAdi,k.KategoriAdi from Urunler as u join Kategoriler as k on u.KategoriID=k.KategoriID", cnn);

            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    ListViewItem satir = new ListViewItem();
                    satir.Text = rdr["UrunID"].ToString();
                    satir.SubItems.Add(rdr["UrunAdi"].ToString());
                    satir.SubItems.Add(rdr["KategoriAdi"].ToString());

                    lsvListe.Items.Add(satir);
                }
            }
            else
            {
                MessageBox.Show("Herhangi Bir Data Okunamadı");
            }


            cnn.Close();
        }

        private void lsvListe_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Form2 frm = Application.OpenForms["Form2"] as Form2;
            if (frm == null)
            {
                frm = new Form2();
            }
            frm.UrunDetayGetir(lsvListe.SelectedItems[0].Text);
            frm.Show();
        }
    }
}

Erdem Yazılım Lisesi Öğrencileri İçin Hazırlanmıştır







Hiç yorum yok :

Hiç yorum yok

 Merhaba Arkadaşlar ;


Bu bölümde Ultrasonik mesafe sensörü kullanıyor olacağız.


Devre şemamız 




Kodlamarımız


#define echoPin 6
#define trigPin 7
#define buzzerPin 8

int maximumRange=50;
int minimumRange= 0;
void setup() {
  pinMode(trigPin,OUTPUT);
  pinMode(echoPin,INPUT);
  pinMode(buzzerPin,OUTPUT);

}

void loop() {
 int olcumdeger=mesafe(maximumRange,minimumRange);
 ses(olcumdeger *10);
}

int mesafe(int maxrange,int minrange)
{
  
  long duration,distance;

  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);

  duration=pulseIn(echoPin,HIGH);
  distance=duration/58.2;

  delay(50);
  if(distance >= maxrange || distance<=minrange)
  return 0;
  return distance;
  }

  int ses(int ss)
  {
    tone(buzzerPin,440);
    delay(ss);
    noTone(buzzerPin);
    delay(ss);
   }




Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Ardiuno R3 Potansiyometre Kullanımı

Hiç yorum yok

 


Merhaba Arkadaşlar ;


Bu bölümde basit  manada potansiyometre kullanımına bakıyor olacağız.

Devre Şemamız 




Kodlarımız 

// C++ code
//
int pot=A0;
int deger;
void setup()
{
pinMode(pot,INPUT);
Serial.begin(9600); 
}

void loop()
{
  deger=analogRead(pot);
  Serial.println(deger);
 
  delay(2000);
}


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Ardiuno R3 SG90 Motor Kullanımı

Hiç yorum yok

 

Merhaba Arkadaşlar;


Ardiuno ile sg90 motor kullanımına bakıyor olacağız .Devre şeması çizimimiz aşağıdaki gibidir.






Kodlamarımız 

// C++ code
//
#include<Servo.h> // gereken kütüphane
Servo sg90;
void setup()
{
  sg90.attach(9);
}

void loop()
{
 sg90.write(90);
  delay(2000);
  sg90.write(0);
  delay(2000);
  sg90.write(180);
  delay(2000);
}


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Karanlıkta Lamba Yakımı Ardiuno

Hiç yorum yok

 

Merhaba arkadaşlar;


Bu bölümde ardiuno r3 ile karanlıkta çalışan lamba yapımını paylaşıyor olacağım.

Devre Tasarımı 






Kodlarımızı yazarak tinkercad platformunda yada ardiuno ide si içersinde test edebiliriz.


// C++ code
//
int ldr=A0;
int ldr_deger;
int led=7;

void setup()
{
  pinMode(led,OUTPUT);
pinMode(ldr,INPUT);
  Serial.begin(9600);
  
}

void loop()
{
  ldr_deger=analogRead(ldr);
  Serial.println(ldr_deger);
  if(ldr_deger>400){
  digitalWrite(led,HIGH);
  }
  else
  {digitalWrite(led,LOW);}
    delay(1000); // Delay a little bit to improve simulation performance
}








Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.