jump to navigation

C# MySql Database Class Mayıs 31, 2010

Posted by katanasters in Genel Konular.
Tags: , , , , , , , , , , , , , , , ,
15 comments

Merhaba arkadaşlar. Bu aralar c# ile bir proje üzerinde çalışma imkanına kavuştum. Proje içinde mysql sunucusu ile çalışma imkanına kavuştum. Proje büyükçe, ve sorgulamalar karmaşıklaştıkça kod yazmaya çalışmak işkence halini alıyor. Ne olur ne olmaz diyerek SQL sorgulamalarını yapabileceğim küçük çapta bir class yazmak istedim. Ortayada böyle birşey çıktı :) Nette c# ve MYSQL ile alakalı birçok site gezdim. Benzer birşeye rast gelmek istedim, gelemedim. iş başa düştü.Burada anlatacağım konuyu,araştırmaya başladığım andan bu yana olan konuyu kapsayacak şekilde en başından itibaren anlatmayı uygun gördüm.

Öncelikle bilgisayarda mysql sunucusunun bulunması gerekmektedir. Bunun için buradan içinde (Apache+mysql+ Php) yüklü olduğu wampserver adlı programı indiririp,bilgisayarımıza kuruyoruz.

Ardından MySql ile .net in birbiri ile aynı dili konuşmasını sağlayacak connector dosyasını şuradan indirip bilgisayarımıza kuruyoruz. Connectoru kurduktan sonra yeni proje açıyoruz.Proje açıldıktan sonra Visual Studio da Project>Add Reference dan “Browse” Kısmına geçip, Mysql.Data.dll dosyasını ekliyoruz.(Yol C:\Program Files\MySQL\MySQL Connector Net 6.2.2\Assemblies büyk ihtimal bu dizinin içerisinde olacaktir.Eğer connectoru farklı bir dizine kurduysanız,o dizinde dosyayı aramanız mantıklı olacaktır.)

Bu işlemi de yaptıktan sonra proje dosyamıza mysql kütüphane dosyalarını eklemekle devam edebiliriz.
Mysql fonksiyonlarını kullanmamazı sağlamak amacıyla…

using MySql.Data;
using MySql.Data.MySqlClient;

Eğer formla ilgili işlem yapacaksanız. Aşağıdaki satırı projenize dahil etmeniz yeterli olacaktır.

using System.Windows.Forms;

Şimdi Mysql ile kod çalışmaya başlayabilir. Sorgulama işlemlerimizi gerçekleştirebiliriz. Aşağıda yazılmış olan class dosyası bulunmaktadir. Bu class dosyasını projenize dahil etmek için Projeye tıklayıp, Add New Item seçeneği seçilmelidir. Class dosyasını kopyalayıp, açılan class dosyasının içeriğini silip,buraya yapıştırıyoruz. Class dosyasını dahil ettikten sonra namespace ismini kendi projenizin namespace ismiyle değiştirmeniz gerekmektedirler. Bu çook önemli x)

C# Mysql Class

Class dosyasının docx şeklindeki halini indirmek için
tıklayınız. Dosyanın içerigini aldıktan sonra içeriği alıp yukarıda anlattıığım gibi işlemlerinizi gerçekleştirin. Ardından asıl projenizi yazacağınız form ekranına gelin. Class içinde db de insert,delete,update ve select işlemlerinizi gerçekleştirebilirsiniz.

Aşağıdaki örnekte kayit işlemiyle ilgili bir kod parçası görülmektedir. Peki bu kod parçası ne işe yarıyor ?

Sql Kayıt

Şimdi öncelikle yapmanız gerekenlerden en önemlisi class dosyası içindeki sunucuya bağlanmak için gerekli
argümanları girmeniz gerekmektedir. Nedir peki bunlar :?:

ServerName şu an bilgisayarımda Mysql sunucusunu barındırdığım için, localhost yazıyorum. Eğer wamp kurulumunu gerçekleştirdiyseniz, sizinde “localhost” yazmanız gerekir :)

Ardından kullandığınız sunucudaki database ismini, kullanıcı adi ve şifrenizi doğru bir şekilde girin ;) Class dosyasında yapacağımız işlemler bununla sınırlı :)

Şimdi kod bloğuna dönecek olursak;

Öncelikle string tipinde sql değişkeni tanımlanmıştır. Bu nesnemizin bize döndereceği sql komutunu tutmamıza yarayacaktir. Ardından class dosyasının adını kullanarak “db” adında bir nesne oluşturuyoruz.

Mysql db=new MySql();

Ardından nesneyi kullanarak bağlantı kurmamızı sağlayan db_connect() fonksiyonunu çağırıyoruz.

db.db_connect();

Şimdi önemli olan kısma geliyoruz. insert_values fonksiyonu tablonuzdaki her alan için veri girmenizi sağlar. Örneğin;

db.insert_values(“kodu”,kodu.Text);

Tabloda bulunan kodu alanına Form da bir textin içeriğinde bulunan bilgiyi atamaktadir. ;) Bu şekilde satırlarımızı
eklediğimizi düşünelim. Ardından

sql=db.sql_insert(“stok”);

satırıyla fonksiyona tablo ismimizi gönderdik. Ve bunun sonucunda oluşan sql cümleciğini yukarıda tanımladığımız sql değişkenine atadık. Şimdi ise sorgulama işlemimizi gerçekleştiriyoruz. İf içindeki db.sql_query(sql) ile sorgulama işlemimizi tamamladık, sonrasında (1 ise sorgu çalışmıştır) ise işlemi yapıp yapmadığına dair bir mesaj aldık

if (db.sql_query(sql) == 1)
{
MessageBox.Show(“Kayıt işlemi başarıyla tamamlandı.”, “Uyarı”, MessageBoxButtons.OK,MessageBox
Icon.Information);
}

Kaydetme için işlemler bu kadar :) Şimdi SELCT ve UPDATE işlemleri için aşagıdaki kod parçalarını incelemenizi istiyorum :)

Sql Update

şimdi update işlemi için aşağıdaki kodun çalışmasını açıklamaya çalışalım.Öncelikle bir nesne oluşturup db ye nasıl bağlanacağını az önceki örneğimizde açıklamıştık. Devam edecek olursak 4. satırdaki kodumuzu açıklayalım.

dbSilStok.update_values(“stok_durum”,”0″);

Bu satırı tıplı kayit işlemindeki insert_values() değerleri için nasıl çoğalttıysak bunun içinde çoğaltabiliriz.Burada sadece tablodaki stok_durum alanı güncellenmek istenmektedir.

sql=dbSilStok.sql_update(“stok”,”kodu=’” + kodu.Text +”‘”);

Yukarıdaki satirla birlikte string olarak tanımlanmış sql değişkenine sorgu atanır. stok tablo ismi,diğer kısım ise şarta bağlı olarka değiştirilmek istenen kısımdır.if içindeki fonksiyona sql değişkenini gönderip sorgulama yapmak istediğimizde işlem tamamlanmış olacaktır.

Aşağıda küçük bir kaydetme uygulaması mevcut. Bu uygulamayı bilgisayarınıza indirin. Connectoru ve wamp serverı yukarıda anlatıldığı gibi yükleyin. Klasor içindeki sql dosyasını sol alt köşede çalışan wamp iconuna sol tıklayarak, phpmyadmin seçeneğini çalıştırın. Ve gelen pencereden içeriği aktar seçeneğini seçin. Dosyayı seçtikten sonra Git düğmesine basın. Database oluşmuş olacaktır. Sonra uygulamayı çalıştırın. Eğer connector ile ilgili bir hata çıkarsa, MysqlData.dll dosyasını önce reference den silip sonra tekrar ekleyin. Uygulamayı çalıştırın.

E-mail Class Temmuz 17, 2009

Posted by katanasters in Genel Konular.
Tags: , , , ,
2 comments

Geçen gün oturdum birazcık birşeyler yazmak istedim. Hoş yazdığım şey ne kadar faydalı olabilir bene bilmiyorum ama… Bunu yazarkende sevdiğim kişi aklımdan çıkmadı şimdi ayrıyız tabiii ama… :(

Şimdi isterseniz işin kod kısmına gelelim :) Php de mail() fonksiyonu üzerine yazılmış bir sınıf görüyorsunuz :) Mail fonksiyonun kullanımına şuradan bakabilirsiniz. Fazla üzerine durmadım birkaç kaynakta inceledim tabiii kaynaklar için buraya bakmanızda yarar var. Class yapısı için buraya fonksiyon yapısı içinde şuraya bakabilirsiniz…

Tamamen 1-2 saat içinde toparladığım bir class,geliştirilmesi mümkün tabiii. Kodları anlama kısmını size bırakıyorum…Yarum yazarsanız sevinirim :) İyi günler :)

  1. <?php
    // Class Starting
    class email {
    var $myname;
    var $mymailAdress;
    var $subject;
    var $message;
    var $headers;
    var $to;
    var $checked=false;

    function subject($subject) {
    $this->subject=$subject;
    }

    function message($message) {
    $this->message=$message;
    }

    function write($mail)
    {
    echo “Gecersiz bir mail adresi girildi<br />”;
    echo “Mail adresini kontrol ediniz@>”.$mail.”<br />”;
    }

    function froms($mymail,$myname) {

    if ($this->checkMail($mymail)) {
    //echo “OK”;
    $this->mymailAdress=$mymail;
    $this->myname=$myname;
    }
    }

    function mailCheck($mail){
    if (is_array($mail)) {
    foreach ($mail as $value) {
    if ($this->checkMail($value)) $this->write($value);
    }
    }
    if ($this->checkMail($mail)) $this->write($mail); exit();
    }

    function checkMail($value)
    {
    return (!eregi (“^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$”, $value));
    }

    function to($mailAdress){

    $variableNumber=func_num_args();

    if ($variableNumber>1) {
    echo “Hatalı Parametre yolladınız<br />”;
    return 0;
    }
    $this->to=$mailAdress;
    if (is_array($mailAdress)) {

    if($this->mailCheck($mailAdress)) $this->checked=true;
    } else {
    if($this->mailCheck($mailAdress)) $this->checked=true;
    }
    }

    function send(){
    if ($this->checked) {
    if (is_array($this->to)) {
    foreach ($this->to as $value) {
    if (!(@mail($value,$this->subject,$this->message,$this->headers))) {
    echo $this->to.” adli mail adresini iletilememistir<br />”;
    }
    }
    }

    if (!(@mail($this->to,$this->subject,$this->message,$this->headers))) {
    echo $this->to.” adli maile iletilememistir<br />”;
    }
    }
    }
    } // Class end
    // Program is starting
    $mailArray=array(“ugur.kou@hotmail.com”,”ugur.kou@hotmail.com”,”ugur.kou@hotmail.com”);
    $mailClass=new email();
    $mailClass->froms(“ugur.kou@hotmail.com”,”Ugur Korkmaz”);
    //$mailClass->to($mailArray);
    $mailClass->to(“ugur.kou@hotmail.com”);
    //echo $mailClass->checked;
    $headers = ‘MIME-Version: 1.0′ . “\r\n”;

    $headers .= ‘Content-type: text/html; charset=utf-8′ . “\r\n”;
    $mailClass->headers=$headers;
    $mailClass->subject(“Mail gonderimi…”);
    $mailClass->message(‘Selam Herkese Herkese…’);
    $mailClass->send();
    ?>

Şubat 24, 2009

Posted by katanasters in Genel Konular.
add a comment

Şimdi beklentisine küsmüş çocuklar gibi,kazınmıyor bakışlarım duvarlardan….

Tek başıma saklambaç oynuyorum bulunmaz bir hiçlikte…Ebe de ben sobe de…

Anlatıcalak ne kaldı ki …sensiz her zaman biriminde geriye alıyorsam kendimi..

Ne vakit düşünsem gelecek beklentisini…Yapışkan geçmişim döve döve içeri alıyor beni…

Gece tüm karanlığıyla gelirken üstüme üstüme,kaçıncı sayışta uyuyabilirim…bir rüya olsun sensiz…

Biliyorum matematik çizelgelerini…kendime denedim..

anladım ..benden kaç olursa sen olmaz..sonsuza akan bir ırmağın iki yakasıyız seninle…

sessiz …derinden..aşınan..

kıyımı aşındıran sulara soruyorum seni…sen kuşsuz bir dal gibi dururken karşı kıyıda…

artık beklentisine küsmüş çocuk gibi,gözleri yatırıp dudaklara..

kendimce sana bir tanım aramaktayım…ilk günaha ve son davete gün içirdin..

böyle sevdirdin bana ateşi…ve sonra ölüm koyusu bir sonla o sırra üşüşen sendin..

bense ilk kurşunda vurulan bir asker gibi kalakaldım kanlı meydanlar ortasında…

artık gelmeyecek trenleri bekliyorum ıssız grisinde peronların…

sabır tesbihleri yapıyorum mahpushane işi..

çekiyorum…susuyorum…susacaklarım bitmiyor..

yüreğime diktiğim bunca umut çiçekleri…çektiğim bunca hasret…sözcükleri yaza-çize ertelenmiş baharlardır yazdığım ..örselenmiş düşlerim saçak altlarında..

pusuda bekleyenler var…çattım kaşlarımı…dışarı çıkamam…çıkamam dışarı kaşlarım var..

al işte veriyorum: bunlar örgütsel dökümanları aşkın..

bedili ödenmiş…yarım kalmış …ölümcül bir sevda…

Gel Gör Beni… Aralık 21, 2008

Posted by katanasters in Genel Konular.
add a comment

En Güzeli… Aralık 7, 2008

Posted by katanasters in Genel Konular.
add a comment

Senin bakışlarında saklıdır…

Editörler… Kasım 18, 2008

Posted by katanasters in Genel Konular.
add a comment

Editör yazılan bir kod ve veya kod parçasının programlayan kişi tarafından daha kolay bir şekilde anlamasını,uygulamanın üzerinde gerekli değişiklikler yapmasınına izin veren bir düzenleyicidir… Kullanıcıya sağladığı kolaylıklar yazılan programların daha iyi bir şekilde takip edilmesini,rahar bir şekilde müdahake edilmesini v.s gibi sayılabilir… Yukarıda Kommander Editörün bir ekran çıktısını görmektesiniz :)

tinymce(Web Programlama),Oanta plus(Web programlama),vi(Linux),nano(Lİnux),gedit(Lİnux),emacs(Linux),merlin,kommander editör…

Nereden Nereye… Kasım 10, 2008

Posted by katanasters in Genel Konular.
add a comment

Bazı insanlar aklımdan zorum olduğunu düşünüyorlar ? İşte sorum… Hayatına gerçekten bakmak gerekirse  kimin aklı bozulmaz ki :( Nereden nereye diyoruz ? Evvel zaman önce wayy bea ? Hayatı zorlaştıran bizleriz ? İlişkilerimizi zorlaştıran bizleriz ? bizleriz kolayı zor yapan,zordan kaçan,kendi kabuğuna çekilmek isteyen… Kİmlerimiz yok kimleri yok onuda anlamak imkansız ? İnsan kabettiğinde mi anlayacak değerini  ki ? Nereye kadar sürecek bu içine kapanışın,bu kendi içinde ürettiğin inandığın arkasında durduğun bu kalıplarla ne kadar yaşayabileceksin ? Nereye kadar dayanabileceksin ? Yanımda sen varsın diyorsun ama bir yerde sen yoksun,senin için bir ben yok ? O alemde o mekanda başka birisin, başka biri soluk alıyor,başka birinin kalbi saklı benim ulaşamadığım benden hep gizlediğin… ama nafile bir yerde tükeneceksin :0 bir yere kadar gelebileceksin yanında sana destek olabilen insanları görmeden onlara hiçbirşeyini açmadan tükeneceksin belki … Gerçekleri kendine bile söyleyemiyorsun ama ne var ki söyleyemeyeceksin yanındaki en sevdiğine bile ?? Bahane edeceksin ona söylememek için,kendini kandıracaksın,onun bir çoçuk olduğunun düşünüp her daim yaptığını yapacaksın sessizce … ama o bilmiyorsun ki sözcüklerin bir roman,ki şiirden farksız… ?Gizliyorsun kendi içinde kendi kendine duygularının içinde dönüyorsun ve bir yerde koskocaman bir yalan söylüyorsun,gerçekten bu büyük bir yalan … Paylaşmamak… seni hala bekleyecek biri ki hayatını seninle birleştirmek isteyen,hayat arkadaşın olmak isteyen biri(!!)… Belki şakaya almak istiyorsun seni istiyen birini dahi göz ardı edebilecek kadar kendini kısıtlıyorsun… Ağzından iki kelimeyi duymak ne kadar zorrr… Peki ya paylaşmak o nerde ? Ali babanın çiftliğinde değil mi ? Paylaşmak denen şey belli bir aşamadan sonra olmazsa sevgi biter,saygı biter bitmeyen birşey yoktur… Herşey Allattinin lambasındaki gibi olur 1,2,3,4,….10 puff kayboldunuz … Herşey zaman meselesidir,hakkeden değil isteyen kazanır,istediği için hakketmiştir … Ama bu ona suç olmuştur…

Sevgilerle…

Çizin Beni … Ekim 25, 2008

Posted by katanasters in Genel Konular.
add a comment

…………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………..

………………………………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………………………..

……………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………….

…………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………..

………………………………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………………………..

……………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………….

…………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………..

………………………………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………………………..

……………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………….

…………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………..

………………………………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………………………..

……………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………….

İçeriğini girmeyi size bırakıyorum sevgili okurlarım… İstediğiniz gibi yazıp çizebilirsiniz… Şu anda benim de…

Follow

Get every new post delivered to your Inbox.