29 Haziran 2010 Salı

SQL C# BAĞLANTISI-C#DAN VERİTABANINA BİLGi EKLEME-SİLME

              Sqlde tablolarımızı oluşturduktan sonra c#da  kodlar yardımıyla veritabanına bilgi ekleme ya da silme işlemlerini gerçekleştirebiliriz.
Bununla ilgili c#da yazılmış örnek kodu inceleyelim:
             Öncelikle projede gerekli form dizaynını yapmalıyız,bir tane datagridview ve gerekli button textbox ve labelları eklememiz gerekir



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.SqlClient;                                 //sql bağlantısı için gerekli kütüphane
namespace Sql_komutları_deneme
{
    public partial class Form1 : Form
    {   //tanımlamaları public yapıyoruz ki hepsi için geçerli olsun
        SqlConnection baglantim;
        SqlDataReader reader;
        SqlCommand komut;
        SqlDataAdapter adaptör;
        DataSet dataset;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

 baglantim = new SqlConnection();    //sql ile bağlantı kurulmasını sağlar
            baglantim.ConnectionString = "Integrated Security=True;  Initial Catalog=csaharptanbaglanma;  Data Source=DERYA-PC\\SQLEXPRESS;";     //database ve serverisimlerinin verilmesi gereken connectionstring
            baglantim.Open();                      //bağlantıyı açmak gerekir

             dataset = new DataSet();
            SqlDataAdapter adaptör = new SqlDataAdapter("select* from  Bilgiler    ", baglantim);   //bağlanılacak tablo belirlendi

            adaptör.Fill(dataset, "Bilgiler");          //dataadapterdaki bilgiler datasete aktarıldı

            dataGridView1.DataSource = dataset.Tables[0];           //tablo datagridviewde görüntüleniyor

            komut = new SqlCommand();
            komut.Connection = baglantim;            //sql cümlelerinin yazıldığı yer


 }

private void button_sil_Click(object sender, EventArgs e)        
                                          //silme  butonu,seçili olan satırın silinmesini sağlıyor
        {


            try
            {

                //komut.CommandText = "delete from Bilgiler where Ad='abc'";     //adı abc olanı siler
                               //seçili olanın silinmesi olayı
                komut.CommandText = "delete from Bilgiler where Id='" + dataGridView1.CurrentRow.Cells["Id"].Value.ToString() + "  '  ";//seçili olanı siliyor
                reader = komut.ExecuteReader();
                reader.Close();
            }
            catch
            {
                MessageBox.Show("secili alan yok!!!!!");                  
            }
            finally
            {
                Form1_Load(sender, e);     //silme işlemini yaptıktan sonra formun güncellenmesini sağlıyor

            }


        }
//textboxlara yazılanların veri tabanına eklenemesini sağlıyor
        private void button_ekle_Click(object sender, EventArgs e)
        {
            try
            {

                komut.CommandText = "insert into Bilgiler values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";
                reader = komut.ExecuteReader();   /

            }
            catch
            {
                MessageBox.Show("ekleme islemi gecersiz!!!bosalan veya farklı id de eleman eklenmeli");
            }
            finally
            {
                Form1_Load(sender, e);     //silme işlemini yaptıktan sonra formun güncellenmesini sağlıyor

            }
        }

    
      
    }
}
  
     Yapmış olduğumuz bütün değişiklikler veritaanına da yansımış oluyor..............




DERYA GÜNDÜZ

28 Haziran 2010 Pazartesi

Ankara'da bir yaz......................

          Stajımı Ankara'da yapmam dolasıyla dün  Eskişehir'den ayrıldım,Eskişehir'den,  ordaki evimden,ev arkadaşımdan ayrılmam çok zor oldu:(    Bu yaz Ankara'dayım   yazı Çileğimle(yani Çilem ile) aynı evde geçirecem.Çok verimli ve eğlenceli bir yaz geçirmeyi diliyorum. Memlekete ,Mardin'e gidemeyince ailem Ankara'ya gelecek,onları da çok özledim,onlarla  da biraz zaman geçirme fırsatı bulacam,sonra da uzaklara...................  Erasmus için Litvanya'ya gidecem.Gideceğim için çok mutluyum ama geride bıraktıklarımı çok özleyecem..................


DERYA GÜNDÜZ

BİLGEADAM'DA STAJ


                   Konya- Bilgisayar Mühendisleri Kongresi(BİLMÖK)   de BilgeAdam oturumu da vardı.Orada Sedat Salman Hocam ve BilgeAdam Pazarlama Sorumlusu Sercan Tabur ile tanışmıştım,BilgeAdam'da staj yapmak istediğimi söylemiştim.Daha sonra Ankara'ya gelip Cv mi verdim,  Cv mi İstanbul'daki Genel Müdürlüğe gönderdiler ve staj başvurum kabul oldu..Yrn staja başlıyorum ve biraz heyecanlıyım,eminim BilgeAdam ailesinden  öğrenceğim çok şey vardır,çok verimli olmasını diliyorum..............
             Stajda yaptıklarımı ve öğrendiklerimi blogumda paylaşacam................
    


DERYA GÜNDÜZ

24 Haziran 2010 Perşembe

TAM BİR BİLGİSAYAR MÜHENDİSİNE YAKIŞIR DAVETİYE:)


    Face'de dolaşırken,arkadaşlardan birinin böyle bir paylaşımda bulunduğunu gördüm,çok hoşuma gitti,bir bilgisayar mühendisinin düğün davetiyesi:)

DERYA GÜNDÜZ

17 Haziran 2010 Perşembe

BİLYAZ.COM 'da yönetici oldum:):)

           Arkadaşlar bildiğiniz üzere    bilyaz.com    adlı paylaşım sitesinde programlama  ile ilgili makaleler yazıyorum.
           Bundan 3 4 ay önce  internette gezinirken bu siteyi görmüştüm.Bizim okuldan bikaç arkadaşın adını da yazar listesinde görünce  çok hoşuma gitmişti ben de böyle bir şey yapabilirim diye düşündüm.Sitede "editör ol"  diye bir seçenek vardı şansımı denemek istedim. Ben de sitenizde yazmak istiyorum diye mail attım.Hemen geri dönüşte bulundular, yöneticisi ile msn de konuştum bana çok sıcak davrandı ve  beni yazar olarak eklediğini söyledi çok mutlu oldum.Sisteme girip yazı ekleyebilmem için de  bana kullanıcı adı ve şifre verdi.Çok heyecanlandım birkaç gün sonra ilk yazımı gönderdim,yazdığım yazının  böyle bir sitede yayınlanmış olması okadar hoşuma gitti ki...  Bu dönem boyunca  elimden geldiği kadar paylaşımda bulunmaya çalıştım.Okulda gördüğümüz  programlama  dillerine paralel programlama ile ilgili makaleler örnek kodlar yayınladım.Buarada sitenin kurucusu Tahir Mutlu ile  sürekli iletişim içinde  oldum,kendisi   bana sürekli yardımcı oldu.

          Bugün bana mail atmış Tahir Mutlu, paylaşımlarım ve çabam için beni tebrik ettiğini yazmış ve beni yönetici listesine eklediğini söylemiş.Çok mutlu oldum böyle güzel ve büyük bir sitede  yönetici olmak beni çok onurlandırdı.Artık yazar ekleme, yazıları güncelleme, yorumları kontrol etme gibi haklarada sahip olacakmışım..
          Son zamanlarda aldığım en güzel haberlerden,çok teşekkür ederim Tahir Hocam,herşey için.........................................
          Siteyi görüntülemek için      tıklayın.

DERYA GÜNDÜZ

PIC 16F877A DA YANAN LEDİN SAĞA SOLA HARAKET ETMESİ-RLF RRF KULLANIMI

         Pic 16f877a da ledin yanması demek  kullanılan  potrun ilgili  bitinin "1" olması demektir.Yanan bir  ledin sağa sola hareket etmesini sağlayan özel komutlar  vardır:

rlf :   Açılımı "rotate left file",içeriği sola kaydırmaya yarar.Örneğin portun içinde b'01000000'  ise  rlf komutu bir kere uygulandığında b'10000000'   şeklinde olur.

rrf:   Açılımı "rotate right  file",içeriği sağa kaydırmaya yarar.Örneğin portun içinde b'01000000'  ise  rrf komutu bir kere uygulandığında b'00100000'   şeklinde olur. 


           portun içeriğini sağa  sonra sola kaydıran örnek kodu inceleyelim:
 Bu kodda    PORTB nin içine en başta b'00000001'  sayısı  yerleştiriliyor,içerik 7. bit 1 olana kadar her defasında  bir bit sola kaydırılıyor, çünkü 7. bit  1 olduğunda sola kayacak yer klamıyor,bu kontrolden sonra  sağa kaymalar başlayacaktır.Bu aşamada da içerik0. bit 1 olana kadar  her defasında bir bit olmak üzere sağa kaydırılıyor ,0. bit  1 olduğunda yine sola kayma olacaktır.
  

                  SAYAC1 EQU h’0C’   ;gecikme sayacları için adresler belirtiliyor

                  SAYAC2 EQU h’0D’

                       CLRF PORTB      ;potrbnin içi en başta temizleniyor
            BSF STATUS,5             ;bank1 tris registerlarının ayarlanması için seçildi
                      
                 CLRF TRISB             ;portb çıkış portu yapıldı

                  BCF STATUS,5                  ;port içeriği ile ilgili işlem yapılması için tekrar bank0 a geçildi
               MOVLW h’01’                
               MOVWF PORTB            ;portb nin içine b'00000001'  sayısı atıldı
SOL:

             CALL GECIKME;en başta bi bekleme anı oluyor

            RLF PORTB,F               ;içerik 1 birim sola kaydı

  BTFSS PORTB,7            ;portbnnin 7. biti kontrol ediliyor,
1 ise sağa kaydırma başlayacak 1 değilse tekrar  sola kayma olacaktır                                                                                                

GOTO SOL

SAG:

CALL GECIKME                    ;bekleme yapılıyor

RRF PORTB,F                     ;içerik 1 birim sağa kaydırılıyor

BTFSS PORTB,0                  ;portbnin 0. biti kontrol ediliyor 1 ise sola kaymaya geçilecek,0 ise sağa ;kaymaya devam

GOTO SAG

GOTO SOL

GECIKME:

              MOVLW h’FF’

             MOVWF SAYAC1           ;gecikme için sayac1 in içine h'FF'  sayısı atılıyor

DONGU1:

          MOVLW h’FF’

               MOVWF SAYAC2                 ;gecikme için sayac1 in içine h'FF'  sayısı atılıyor

DONGU2:

          DECFSZ SAYAC2,F

    GOTO DONGU2           ;sayac2 nin içindeki sayı 0 olana  kadar her defasında 1 azalt,0 olunca saya1 i      ;                                       ;azaltmaya git

               DECFSZ SAYAC1,F        ;sayac1in içi 0 olana kadar her defasında 1 azalt,0 olduğunda return yap

              GOTO DONGU1

              RETURN            ;en son callın yapıldığı adrese  gider

        END        ;programo bitir


   

DERYA GÜNDÜZ

PIC 16F877A DA YANAN LEDİN SAĞA SOLA HARAKET ETMESİ-RLF RRF KULLANIMI

         Pic 16f877a da ledin yanması demek  kullanılan  potrun ilgili  bitinin "1" olması demektir.Yanan bir  ledin sağa sola hareket etmesini sağlayan özel komutlar  vardır:

rlf :   Açılımı "rotate left file",içeriği sola kaydırmaya yarar.Örneğin portun içinde b'01000000'  ise  rlf komutu bir kere uygulandığında b'10000000'   şeklinde olur.

rrf:   Açılımı "rotate right  file",içeriği sağa kaydırmaya yarar.Örneğin portun içinde b'01000000'  ise  rrf komutu bir kere uygulandığında b'00100000'   şeklinde olur. 


           portun içeriğini sağa  sonra sola kaydıran örnek kodu inceleyelim:
 Bu kodda    PORTB nin içine en başta b'00000001'  sayısı  yerleştiriliyor,içerik 7. bit 1 olana kadar her defasında  bir bit sola kaydırılıyor, çünkü 7. bit  1 olduğunda sola kayacak yer klamıyor,bu kontrolden sonra  sağa kaymalar başlayacaktır.Bu aşamada da içerik0. bit 1 olana kadar  her defasında bir bit olmak üzere sağa kaydırılıyor ,0. bit  1 olduğunda yine sola kayma olacaktır.
  

                  SAYAC1 EQU h’0C’
                  SAYAC2 EQU h’0D’

                       CLRF PORTB      ;potrbnin içi en başta temizleniyor
            BSF STATUS,5             ;bank1 tris registerlarının ayarlanması için seçildi
                      
                 CLRF TRISB             ;portb çıkış portu yapıldı

                  BCF STATUS,5                  ;port içeriği ile ilgili işlem yapılması için tekrar bank0 a geçildi
               MOVLW h’01’                
               MOVWF PORTB            ;portb nin içine b'00000001'  sayısı atıldı
SOL:

             CALL GECIKME;en başta bi bekleme anı oluyor
            RLF PORTB,F               ;içerik 1 birim sola kaydı
  BTFSS PORTB,7            ;portbnnin 7. biti kontrol ediliyor,1 ise sağa kaydırma başlayacak 1 değilse tekrar                                                                                                          ;sola kayma

GOTO SOL

SAG:

CALL GECIKME                    ;bekleme yapılıyor
RRF PORTB,F                     ;içerik 1 birim sağa kaydırılıyor
BTFSS PORTB,0                  ;portbnin 0. biti kontrol ediliyor 1 ise sola kaymaya geçilecek,0 ise sağa ;kaymaya devam

GOTO SAG
GOTO SOL

GECIKME:

              MOVLW h’FF’
             MOVWF SAYAC1           ;gecikme için sayac1 in içine h'FF'  sayısı atılıyor

DONGU1:

          MOVLW h’FF’
               MOVWF SAYAC2                 ;gecikme için sayac1 in içine h'FF'  sayısı atılıyor

DONGU2:

          DECFSZ SAYAC2,F
    GOTO DONGU2           ;sayac2 nin içindeki sayı 0 olana  kadar her defasında 1 azalt,0 olunca saya1 i      ;                                       ;azaltmaya git

               DECFSZ SAYAC1,F        ;sayac1in içi 0 olana kadar her defasında 1 azalt,0 olduğunda return yap
              GOTO DONGU1

              RETURN            ;en son callın yapıldığı adrese  gider

        END        ;programo bitir


   

DERYA GÜNDÜZ
 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri