27 Ağustos 2011 Cumartesi

C# ile ExecuteNonQuery(), ExecuteScalar(), ExecuteReader() kullanımı

ExecuteNonQuery() ;
Bu metod geriye int olarak update, insert, delete olaylarından etkilenen satır sayısı döndürüyor.
DDL ve DML komutları için geliştirilmiştir diyebiliriz. Tamamiyle veri kaynağı üzerinde bir takım sonuçların doğmasına yardımcı olurlar. Bu tip komut cümlecikleri için, ExecuteNonQuery metodu kullanılır.



















ExecuteScalar();
Bu metod sadece tek alanlık veri döndüren sql sorguları için kullanılır. Geriye Object tipinde bir değer döndürür.




















Bu örnekte, Kisiler isimli tablomuza KisiID değeri 3 olan satırın sadece Adisimli alanının değerini veren bir komut nesnesi ve Kisilertablsundaki satır sayısını veren başka bir komut nesnesi kullanılmıştır. Her iki sql ifadeside sonuç olarak tek bir hücreyi döndürmektedir. Eğer sql ifadenizden birden fazla sütun alıyorsanız ve bu ifadeyi ExecuteScalar ile çalıştırıyorsanız, ilk satırın ilk sütunu haricindeki tüm veriler göz ardı edilecektir.

ExecuteReader();
Uygulamalarımızda genelde veri kaynaklarından veri kümeleri çekme ihtiyacını hissederiz. Böyle bir durumda, ExecuteReader metodunu kullanabiliriz. ExecuteReader metodu, çalıştırılan komut sonucu elde edilen sonuç kümesinden bir SqlDataReader nesnesi için veri akışını sağlar.

Asp.net Url Rewrite

.Net tabiriyle Url Rewrite yada drupal tabiriyle Clean URL,adres çubuklarındaki querystringleri dizin haline dönüştüren bir yapı ve bu yapıyı google çok seviyor.
Örneğin site adresi urun.aspx?id=2&adi=telefon3210 gibi olsa google aynı sayfayı defalarca indexlemek istemiyor bu nedenle Url adreslerimiz şöyle olsa çok iyi olur urun/2/telefon3210.html
şimdi bu Url rewrite olayını asp.net üzerinde kolayca yapabileceğimiz bir kütüphane var Intelligencia.UrlRewriter isimli bir kod kütüphanesi mükemmel sonuçlar üretiyor.
öncelikle adım adım işlemlerimizi yapalım.
1. Intelligencia.UrlRewriter.dll kütüphanesini bulup indirelim.
2.dll dosyasını bin dizini altına koyalım
3.visual studio proje kısmında references bölümüne girelim ve add referans diyerek bin dizini altındaki referans dosyasını projemize ekleyelim
4.Web.config dosyasını düzenleyelim.
en basit haliyle web.config dosyası aşağıdaki gibi olmalı kırmızı renkli alanlar web.config dosyasına eklenmeli etiketlediğim yerlerin nerde olduğu önemli.  Örneğin   etiketi altında olmalı ise dışında olmalı gibi..

 



------------------------------------------------------------------------------------------------------
(web.config içeriğini copy paste ile yapıştırınca blogger kodları bozuyor bende resmini çekip koydum artık baka baka yazarsınız.)

Burada şu alana dikkat çekmek isterim;

rewrite url ile $1 ,$2 ile gelecek parametre değerlerini gösteriyorsunuz. sonra onları (.*) ifadesiyle yeniden şekillendiriyorsunuz. en son sayfalarımızın uzantısı html olarak değiştiriyoruz fakat bu işlem eğer toplu hosting kullanacaksınız çalışmayabilir.çünkü html uzantıları asp.net derleyemez  IIS panelde girip düzenleme yapmak gerekecek yada uzantıyı .aspx olarak değiştirebilir yada hiç bir şey yazmadan sanki sanal dizindeki default.aspx çalışıyormuş gibi gösterebilirsiniz.

redirect Url ise bir sayfayı başka bir sayfaya çevirmeyi sağlıyor. Böylece çok kullanılan giris.aspx sayfaları uzantılarından kurtarabileceksiniz.

Kod yazmıyor muyuz?
-Ne kodu yazı bu kadar :)

25 Ağustos 2011 Perşembe

Easyapache


whm panelden easyapache çalıştırdığımda bu hatayı alıyordum bu nedenle 
!! The server's system package manager, 'YUM', failed. !!
!!
This is the command that failed: yum --exclude=kernel* -y install zlib1-devel expat-devel gettext automake19 libpng-devel libopenssl0-dev expat openssl gcc-c++ glibc-devel libpng-dev zlib-devel libstdc++ zlib bison autoconf261 gmake libXpm libstdc++-devel libjpeg-devel openssl-devel automake coreutils libtool-libltdl-devel libopenssl0 openssl-dev libtool patch libstdc++-dev libz-devel libltdl3-devel libltdl libjpeg-dev libopenssl0.9.7-static-devel pam-dev libtool-ltdl-devel libopenssl0.9.7-devel libltdl-devel fileutils e2fsprogs-devel libXpm-devel sed libXpm-dev lsof krb5-dev flex glibc-dev expat-dev krb5-devel make libX11-devel xorg-x11-devel libtool-ltdl libssl-dev gd pam-devel cpp xorg-x11-dev gcc libopenssl0-devel ssl-dev lex autoconf !!
!!
Since EasyApache was unable to resolve it automatically you should: 1) Manually run the failed YUM command (shown above) via SSH 2) See if your particular error is addressed at cPanel - The Leading Control Panel 3) Resolve the YUM problem manually 4) Re-run EasyApache !!
!! Please visit cPanel - The Leading Control Panel for help with this error. !!
!! Restoring original working apache !! 


sed -i -e's/^exclude=.*//' /etc/yum.conf; yum update
komutu çalıştırdım ve iyice bok ettim Whm panelde Apache easyupdate ulaşamadım bu nedenle SSH ile bağlanıp root oldum ve sorunun ne olduğunu anlamak istedim.
şimdi ise
Can't locate version.pm in @INC (@INC contains: /usr/local/cpanel /home/trfighters/perl5/lib/perl5/i686-linux /home/trfighters/perl5/lib/perl5 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/cpanel/Cpanel/CPAN/Getopt/Param.pm line 7.
BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CPAN/Getopt/Param.pm line 7.
Compilation failed in require at /usr/local/cpanel/scripts/cpanel_easy_sanity_check line 16.
BEGIN failed--compilation aborted at /usr/local/cpanel/scripts/cpanel_easy_sanity_check line 16.
Can't locate version.pm in @INC (@INC contains: /usr/local/cpanel /var/cpanel/perl/easy /scripts /home/trfighters/perl5/lib/perl5/i686-linux /home/trfighters/perl5/lib/perl5 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/cpanel/Cpanel/CPAN/base/ball.pm line 9.
BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CPAN/base/ball.pm line 9.
Compilation failed in require at /var/cpanel/perl/easy/Cpanel/Easy.pm line 18.
BEGIN failed--compilation aborted at /var/cpanel/perl/easy/Cpanel/Easy.pm line 18.
Compilation failed in require at (eval 1) line 3.
        ...propagated at /usr/lib/perl5/5.8.8/base.pm line 85.
BEGIN failed--compilation aborted at /var/cpanel/perl/easy/Cpanel/Easy/Apache.pm line 8.
Compilation failed in require at /scripts/easyapache line 23.


bu Hatayı almaktayım.
bu hatayı gidermek içinde /usr/local/cpanel/bin/checkperlmodules komutunu denedim ama olmadı
daha sonra hata bana perl verisyon farkından kaynaklanan bir hata olduğunu söyledğini fark ettim ve 



cd /root
wget http://layer1.cpanel.net/perl588installer.tar.gz
tar -zxf perl588installer.tar.gz
cd perl588installer
./install 


bu komutları uygulayarak perl versiyonunu değiştirdim.
 /scripts/easyapache komutunu tekrar kullandım artık hata vermiyordu fakat easy apache ile tekrar kurulum yapmayı denediğimde ilk baştaki hatayı tekrar aldım.Olsun yinede kurtardık :)




23 Ağustos 2011 Salı

USB Flash Diske İso Dosyası Yazmak

Merhaba İso dosyalarını flash diske yazarak onları dvd gibi kullanabilirsiniz.Örneğin ben pardus çalışan CD sini flash diske kayıt edip flash diskten boot etmek böylece bilgisayarıma flash disk takılı iken linux makinasına dönüştürmek gibi bir fantezim var.
Bunun öncelikle pardus iso dosyasını indirmeli ve  Deamon tool gibi bir araçla bilgisayara bağlamalısınız.Daha sonra Flash diskinizi BOŞALTMALISINIZ.
Artık adımlara başlayabiliriz.

MS-DOS komut işlemini Çalıştıra CMD yazarak başlatabilirsiniz.
komut isteminde discpart yazarak  discpartı başlatalım;

DISCPART>list disk (Sistemdeki disklerinizi gösterecek komuttur .USB diskinizin kaç numaralı disk olduğunu buradan görebilir ve alttaki select disk komutunu buna göre yazabilirsiniz.
DISCPART>select disk 1 (USB diskinizin kaç numaralı disk olduğunu yukarıda komut ile görebilirsiniz ben örnek olarak 1 yazdım)
DISCPART>clean
DISCPART>create partition primary
DISCPART>select partition 1
DISCPART>active
DISCPART>format fs=fat32
DISCPART>assign
DISCPART>exit

sonra
2)Yeniden DOS satırına düştüğünüzde de aşağıdaki komutu yazın

xcopy D:\*.* /s/e/f E:\

D: sanal sürücü yani ISO dosyanız
E: USB disk 


Artık Flash diskiniz bootable oldu yanlız anakartınızın flash diskten başlatılabilir olması gerekli eğer bir sorun çıkarsa biostan flash disk boot etme özelliği açılması gerekli.Flash diskten boot etme özelliği yoksa zaten yapacak bir şey yok.Oturup yeni bios yazacak değiliz değil mi ? :)