Osman KURT

Kendime Not

Asp.Net de Stored Procedure Kullanımı

Arkadaşlar bu yazımda stored procedure lardan bahsedeciğim size ve küçük bir örnek gösterceğim ki aklınızdadaha güzel bir şkeilde yer edinsin.
Nedir bu prcedure ler?
Transact-SQL (T-SQL) Stored Procedure, Microsoft SQL Server üzerinde barındırılan, T-SQL komutları ile hazırladığınız işlemler bütününün çalıştırılma anında derlenmesi ile size bir sonuç üreten SQL Server bileşenidir.


- Çalışma anı planlama sağlar ve tekrar tekrar kullanılabilir
- Query lerinize otomatik parametrelendirme getirir
- Uygulamalar arasında ortak kullanılabilir yapıdadır
- Güvenli data modifikasyonu sağlar
- Network bandwidth inden tasaruuf sağlar (daha az network bandwidth kaynak kullanımı)
- Zamanlanmış görevlere eklenebilir
- Job olarak tanımlanabilir ve schedule edilebilir
- Database objelerine güvenli erişim olanağı tanır


İsterseniz gelin birde örnek bir uygulama gerçekleştirelim. Yazağım bu procedure benim bir projem de kullandığım ve uye kaydı yaptığım bir procedure.

create proc [dbo].[pr_uyeEkle]
(
@FirmaAdi nvarchar(max),
@Adi nvarchar(max),
@Soyadi nvarchar(max),
@Tel nvarchar(max),
@Cep nvarchar(max),
@DogTar nvarchar(max),
@Fax nvarchar(max),
@Mail nvarchar(max),
@KullaniciAdi nvarchar(max),
@WebAdresi nvarchar(max),
@Sehir int,
@Ilce int,
@Adres nvarchar(max),
@VergiNo nvarchar(max),
@VergiDairesi nvarchar(max),
@Sifre nvarchar(max),
@UyeTipi int,
@EklenmeTarihi datetime
)
as
insert into Uyeler(FirmaAdi,Adi,Soyadi,Tel,Cep,DogTar,Fax,Mail,KullaniciAdi,WebAdresi,
Sehir,Ilce,Adres,VergiNo,VergiDairesi,Sifre,UyeTipi,EklenmeTarihi) values(@FirmaAdi,@Adi,@Soyadi,@Tel,@Cep,@DogTar,@Fax,@Mail,@KullaniciAdi,@WebAdresi,
@Sehir,@Ilce,@Adres,@VergiNo,@VergiDairesi,@Sifre,@UyeTipi,@EklenmeTarihi)


Görmüş olduğunuz gibi çok basit bir olay aslında. Kod tarafında yapmanız gereken değerleri procedure de belireleğimiz gibi listelemek ve procedure mizi çağırmak.
Görüşmek Üzere...

Osman KURT

Yazılım Gelişrici ve Grafiker

ASP.Net de Excelden Veri Okumak

Merhaba arakadaşlar yine işinize çok yarayacağını düşüğüm bir kodu sizinle paylaşacağım. Bildiğiniz üzere güzel Türkiyemizde veriler her zaman mssql de veritabanında saklanmıyor. Çoğu insanımız verilerini hücre mantığı olduğu ve kullanımı kolay olduğu için Microsoft office Excel de saklıyor. Onun için bizde excelden veri okutmayı baya bir yerde projede kullanabiliyoruz.Uzmatmadan kodumuzageçelim isterseniz.

DataTable getirTumATSTablo()
{
 string dosya_adres=@"C:\osmankurt.xls";
 OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + adresimiz + ";Extended Properties=Excel 8.0");
baglanti.Open();

 string query = "select * from [Tablo1$C2:F200] ";
OleDbDataAdapter oAdp = new OleDbDataAdapter(query, baglanti);
DataTable dt = new DataTable();
oAdp.Fill(dt);
return dt;

Kodlarımız bu kadar arkadaşlar.dikkat etmenizi istediğim bir nokta ise hücre yönetimi eğer kodları birkez daha incelerseniz string query kısmında hücre adreslerini verdiğimizi göreceksiniz. Benim kodlarımda C2 ile F200 arası kalan veriler okunmaktadır.Yararlı olması dileğiyle.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker 

ASP.Net de Word Çıktısı Almak

Merhaba Arkadaşlar,

Bugün size şu anda yazmakta olduğum bir projede kullandığım bir olayı anlatacağım. veritabanın da sakladığım bir text verisinin word olarak çıktısını almayı gösterecğim.

ASP.NET'te bu işlemi yapmak oldukça kolay. Lafı uzatmadan ben kodlara geçiyim.

Response.Clear();
Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-9");
Response.Charset = "ISO-8859-9";
Response.ContentType = "application/msword";

string strFileName = "Word-Ciktisi.doc";
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName);

Response.Write("word dosyanızda çıkıcak alan burası isterseniz veritabanından gelen veriyi yazdırabilirsiniz.");

Response.End();
Response.Flush();


Bu kodu Page_Load ya da Button_Click gibi olaylara yazabilirsiniz.

Kodda da gördüğünüz gibi Response nesnesi oldukça güçlüdür.

  •     .Clear() metodu ile sayfamızın o ana kadar yüklenmiş olan HTML kısmını siliyoruz
  •     Sayfamızın karakter kodlamasını belirtiyoruz. "ISO-8859-9" Türkçe karakter kümesine denk geliyor. Dilerseniz "utf-8" olarak değiştirebilirsiniz. (Arapça, vs. dilleri de desteklesin diye)
  •     İçerik tipini belirtiyoruz.
  •     Dosya adını veriyoruz.
  •     İçeriğimizi yazdırıyoruz. İstediğiniz gibi metni belirtebilirsiniz. (Koyu, italic, table, link, vs.. vs..)
  •     İşlemi sonlandırıp, çıktımızı gönderiyoruz.

Aynı Olayı database kullanarak yapmak içinse;

        Response.Clear();
        Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-9");
        Response.Charset = "ISO-8859-9";
        Response.ContentType = "application/html";

        string strFileName = "ihalemerkezi.html";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName);

        #region Güncelle Bilgileri Dolduruluyor
        SqlCommand sorgu = new SqlCommand("select * from Ihale where IhaleId=" + Request.QueryString["IhaleId"], baglan.baglanti);

        if (ConnectionState.Closed == baglan.baglanti.State)
            baglan.baglanti.Open();

        SqlDataReader dr = sorgu.ExecuteReader();
        while (dr.Read())
        {
            Response.Write(dr["IhaleMetni"].ToString());
        }
        baglan.baglanti.Close();
        #endregion

        Response.End();
        Response.Flush();

Bu işlemde bu kadar basit. yalnız ben class kullandığım için bazı kodlar yabancı gelebilir. Kısacası yapmanız gereken sqlconnection kullanarak veritabanına bağlanmak sqlcommand la tabloya bağlanmak ve son olarak SqlDataReader ile verileri okutarak uygun yere yazdırmak.


Görüşmek Üzere;

Osman KURT

Yazılım geliştirici ve Grafiker