#Post Title #Post Title #Post Title

Datagridview kayıtları Excele Aktarma

Bir önceki yazımızda yeni kullanıcı ve kaydetme işlemlerini gördük şimdi ise bu kaydettiğimiz kullanıcıları nasıl Microsoft Excel'e yollayacagımızı görelim.





Resmin sağ tarafında bulunan Excel ikonuna tıkladığımız zaman çalışacak kodumuza bakalım;



private void WrdExcl(DataGridView myData, string dosyaadi)
{
    string cikti = "";
    // Export titles:
    string baslik = "";

    for (int j = 0; j < myData.Columns.Count; j++)
        baslik = baslik.ToString() + Convert.ToString(myData.Columns[j].HeaderText) + "\t";
    cikti += baslik + "\r\n";
    // Export data.
    for (int i = 0; i < myData.RowCount - 1; i++)
    {
        string stLine = "";
        for (int j = 0; j < myData.Rows[i].Cells.Count; j++)
            stLine = stLine.ToString() + Convert.ToString(myData.Rows[i].Cells[j].Value) + "\t";
        cikti += stLine + "\r\n";
    }
    Encoding utf16 = Encoding.GetEncoding(1254);
    byte[] uret = utf16.GetBytes(cikti);
    FileStream fs = new FileStream(dosyaadi, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(uret, 0, uret.Length); //write the encoded file
    bw.Flush();
    bw.Close();
    fs.Close();
}

private void btnWord_Click(object sender, EventArgs e)
{
    SaveFileDialog sss = new SaveFileDialog();
    sss.Filter = "Word Documents (*.doc)|*.doc";
    sss.dosyaadi = "export.doc";
//Excel icin  "Excel Sheets(*.xls

|*.xls
)"
    if (sss.ShowDialog() == DialogResult.OK)
    {

        WrdExcl(dataGridView1, sss.dosyaadi); //kendi datagridview nesnenizin ismini girin
    }
}




[ Read More ]

CSharp.Net ile Kullanıcı Ekleme, Kaydetme

Öncelikle formumuza gerekli olan nesneleri ekliyoruz bu nesneler sizin dizaynınıza göre değişiklik gösterebilir. Ben aşağıdaki resimde görüldüğü üzere bir form tasarladım;



-Bize kolaylık saglaması açısından bir listeleme fonksiyonu tanımlıyoruz. Bu fonksiyon ile veritabanımızdan bilgileri çekip datagridview nesnemiz ile göstereceğiz ve her ekleme silme işleminde bu fonksiyonu yeniden çağırarak yeniden listeleme işlemini gerçekleştirmiş olacağız.

void listele()
{
MySqlConnection baglan = new MySqlConnection("server=local veya uzak baglantı adresi;database=(database isminiz);user=kullanıcı adı;password=******;");
baglan.Open();
string sql = "Select * from kullanicilar";
MySqlDataAdapter adaptor = new MySqlDataAdapter(sql, baglan);
DataSet memet = new DataSet();
adaptor.Fill(memet, "xx");
dataGridView1.DataSource = memet.Tables[0];
baglan.Close();
}

- Daha sonra formumuzun Load olayında listele() fonksiyonunu çağırıp veritabanında kayıtlı kullanıcıları resimde görüldügü gibi listeliyoruz.



- Geldik kullanıcı ekleme işlemine "Save" butonuna tıkladığımızda bakalım hangi kodlarımız devreye girecek?

private void button1_Click(object sender, EventArgs e)
{
MySqlConnection baglan = new MySqlConnection("server=local veya uzak baglantı adresi;database=(database isminiz);user=kullanıcı adı;password=******;");
baglan.Open();
MySqlCommand kom = new MySqlCommand("insert into kullanicilar(adi,soyadi,tcno,dtarihi,telefon,adres,email)values(@ad,@soyad,@tc,@dtar,@tel,@adres,@mail)",baglan);
kom.Parameters.AddWithValue("@ad",textname.Text);
kom.Parameters.AddWithValue("@soyad",textsurname.Text);
kom.Parameters.AddWithValue("@tc", maskedTextBox2.Text);
kom.Parameters.AddWithValue("@dtar",dateTimePicker1.Value);
kom.Parameters.AddWithValue("@tel",maskedTextBox1.Text);
kom.Parameters.AddWithValue("@adres", textadres.Text);
kom.Parameters.AddWithValue("@mail", textmail);

kom.ExecuteNonQuery();
baglan.Close();

listele();


}
Şimdi burda bu komutları uzun uzun anlatmak isterdim fakat öğrencilik hali hepsi anlatmaya kalkılsa projeler ve dersler yan yatar;)

-"Add New" butonu da bir kayıt yaptıktan sonra başka bir kayıt için ekranı temizler. O nasıl olacak derseniz buyrun;

private void button2_Click(object sender, EventArgs e)
{
textname.Clear();
textsurname.Clear();
maskedTextBox2.Clear();
textadres.Clear();
maskedTextBox1.Clear();
textmail.Clear();
textadres.Clear();

}
Datagridview nesnemizdek kayıtları Excel'e nasıl aktaracağız derseniz bir sonraki kayıda göz atabilirsiniz;)

[ Read More ]

Datagridview Kullanımı

Bu yazı değerli bir abim olan Can GÜLDOĞAN tarafından yazılmıstır

1- Öncelikle bir sql server a bağlantı yapmamız lazım..
2- Bağlantı yaptıktan sonra bir ADAPTOR oluşturmamız lazım..
3- Bir DATA SET oluşturmamız lazım ( ki bu DATASET'ı gridview değerleri göstermek için kullanıyor yani geçici bir yazboz tahtası olarak düşünelim)
4- ADAPTOR'umuz DATASET'imizin içini dolduran tek araç (Yani bu yazboz tahtasını adaptör kullanıyor birtek). Bu araç data setimizi doldursun..
5- DATAGRIDVIEW 'ımızda bu ADAPTORUN yazdığı DATASET'ın içindekileri bize göstersin..

Şimdi ben size öncelikle ilgili c# kodunu veriyorum..



string sql = "select * from student"; // tipik bir sql komutu

SqlConnection connection = new SqlConnection("Data Source=sunucu_adı;Initial Catalog=database_adi;Integrated Security=True"); // Bağlantı Connection String ile yapıldı
connection.Open();

SqlDataAdapter adaptor= new SqlDataAdapter(sql, connection);
// adaptor oluşturduk ve içine sql ile connection nesnelerini attık..
DataSet can = new DataSet();
// can diye bir data set oluşturdum
adaptor.Fill(can, "xx");
//adaptor can data setinin için sql sorgumuzun cevabı ile doldurdu ve xx diye bir tabloya attı
dataGridView1.DataSource = can.Tables[0];
// data gridview1 imizin data soruce u can datasetimizin ilk tablosu olsun dedik..
connection.Close();
// bağlantımızı sonlandırdık..

Yukarıdaki kodu kısaca size açıkladım.. Açıkçası burada yazmak bek kolay olmuyor..
Şimdi bir windows application oluşturup bu kodu deneyelim..

Öncelikle bir buton ve data gridview ekleyelim





Amacımız butona basınca sql sorgumuzun çalışması... Şimdi button1 e tıklayıp kodumuzu ekleyelim..





Eklediğimiz kod yukarıdakinin aynısı ama bir tek fark var
sunucu adınız ve data base adınız farlı olabilir
ben sunucu olarak localhost yazdım ve data base'imde school sizin kiler farklı olabilir..
Artı bu şekilde data base'e erişmek istiyorsanız ( Ki ben bir çok program yazdım bu şekilde birçok değeri rahatlıkla işleye biliyorum.. Neyse Konu yb değil )

using System.Data.SqlClient;

satırını başa eklemeyi unutmayın (ki resimde altını kırmızı çizdim)

neyse efendim tüm bunları yaptıktan sonra programı run yapalım




form önce bu şekilde görünüyor..
Biz kodumuzu butona tıklanınca değişiklik olsun diye yazdık..
Butona tıklayınca aşağıdaki sonucu almanız içten bile değil :))




İlerleyen günlerde datagridview hakkında daha ileri seviye şeyler anlatacağım..
Tavsiyem internetteki videoları da izlemeniz.
Çokta sıfıra inerek anlatmıyorum biliyorum ama blogger ortamında yazı yayınlamak hemde istediğiniz gibi yayınlamak pekte kolay değil açıkçası..
Biraz birşeyler bilen arkadaşlar için çok kolay gelecek bu yazılar.. Ama sıfır bilen arkadaşlar kendilerini epeybir geliştirmek zorundalar.. Çünkü hiç visual c# bilmeyen arkadaşlar değilde bilipte bu konularda eksikliği olan projesi olan arkadaşları hedefleyip onlara göre yazıyorum..

İyi Çalışmalar
[ Read More ]