Merhaba,
Bu yazımda yazılım dışında bir konuya değineceğim. İşim gereği sistem, network, donanım, yazılım hepsiyle ilgileniyorum. Nerede sorun çıkacağı belli olmuyor.
Şirket içerisinde ağdaki dosyalarımızdan aynı anda kullanmamız gereken dosyalar olabilir. Bu olay excel 2010, 2013 kullanan kullanıcılar da biraz daha kolay.
Bunun için menü kısmından Gözden Geçir sekmesinden Çalışma Kitabını Paylaş diyoruz. Karşımıza gelen pencereden "Aynı andan birden fazla kullanıcının değişiklik yapmasına izin ver...." kutucuğu işaretliyoruz. Daha sonrasında dosyamızı kaydettikten sonra birden fazla kullanıcı kullanabilir.
Office 2010 ve 2013de bu şekilde yaparken 2016 ve 365 sürümünde ise bu özellik pasif olarak gelmektedir. Peki bunu nasıl düzeltebiliriz. Bu butonları iki farklı şekilde gösterebiliriz excelimizde. İsteyen hızlı erişim çubuğunda isteyen ise normal menü bölümünde gösterebilir. Ben şimdi Menü bölümüne eklemeyi anlatacağım. İlk olarak Dosya>Seçenekler>Şeridi Özelleştir bölümüne geliyoruz. Komutlardan seçim yapın bölümünden Tüm Komutlar diyoruz. Sağdaki listemizden ise Gözden Geçir sekmesini seçiyoruz ve Yeni Grup diyerek bir grup oluşturuyoruz. Ben Paylaştırma dedim grubumun adına, siz istediğiniz ismi verebilirsiniz. Bu yeni grubumuzu mouse ile seçiyoruz ve soldaki tüm komutları listelediğimiz listeden;
- Çalışma Kitabını Paylaş (Eski)
- Değişiklikleri izle (Eski)
- Paylaşımı Koru (Eski)
- Çalışma Kitaplarını Karşılaştır ve Birleştir
komutlarını tek tek seçip ekle diyoruz. Bu seçtiğimiz komutların sağdaki listede yeni açtığımız grubun altında görünüyor olması lazım. Resimde görebilirsiniz.
Tamam deyip kapatıyoruz pencereyi. Şimdi menü kısmında Gözden Geçir sekmesine geldiğimizde yeni grubumuzu ve yeni eklemiş olduğumuz komutları göreceğiz. Buradan Çalışma Kitabını Paylaş (Eski) butonuna tıklıyoruz. Karşımıza çıkan pencereden "Yeni birlikte yazma deneyimi yerine eski paylaşılan çalışma kitaplarını özelliğini kullan" kutucuğunu işaretliyoruz. Artık office 2016 ve 365 sürümlerinde de çalışma kitabını paylaşabiliririz.
Herkese İyi Çalışmalar.
27 Haziran 2018 Çarşamba
16 Mayıs 2018 Çarşamba
Asp.Net Datalist - Koşullu Renklendirme
Merhabalar,
Şimdi ise datalist üzerinde basit bir işlem daha gerçekleştireceğiz. senaryomuz şu şekilde: diyelim ki iki tarih arasındaki faturaları listeledik ve mahsup edilenleri yeşil mahsup edilmeyenleri ise kırmızı renkli görmek istiyoruz. Bunun için öncelikle kıyaslama yapacağımız sütunu bir değişkene atıyoruz. Tabloda görülmeyecek bir değişken ise visible'ını false yapınız.
Yine datalist'imizin ItemDataBound event'ine kodlarımızı yazıyoruz.
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if
(((Label)e.Item.FindControl("LBLmahsup")).Text == "True")
((Label)e.Item.FindControl("LBLcariadi")).ForeColor = System.Drawing.Color.Green;
else
((Label)e.Item.FindControl("LBLcariadi")).ForeColor = System.Drawing.Color.Red;
}
Bunun dışında ise tasarım tarafında da ayarlama yapabiliriz.
<asp:Label ID="LBLcariadi" runat="server" Text='<%#Eval("CARIADI") %>'
ForeColor='<%#Eval("DURUM").ToString()=="2"? System.Drawing.Color.Green:System.Drawing.Color.Red %>'></asp:Label>
Buradaki kodumuz da ise durum sütununda 2 olanları yeşil renkli diğerlerini ise 3 kırmızı renkli yap diyoruz..
Bunun dışında sadece 2 koşul için değil daha fazla koşul içinde kullanabiliriz Renk özelliğinin yanı sıra cssclass özelliğinde de kullanabiliriz. Diyelim ki listemizdeki taleplerin öncelik durumu olsun, bunlar da normal, acil ve çok acil olmak üzere 3 çeşit olsun. Öncelik tipi normal olanlar yeşil, acil olanlar sarı, çok aciller ise kırmızı listelensin. Burada css verirken bootstrap'ın css'lerini kullanıyorum. Ayrıca text özelliğinde de durumu aktif ise check işaret, değilse x işareti koyuyor.
<asp:Label ID="LBLdurum" runat="server"
Text='<%#Eval("Durum").ToString()=="Aktif"?"✓":" X " %>'
CssClass='<%#Eval("Durum").ToString()=="Aktif"?"label
label-success":"label
label-danger"
%>'></asp:Label>
Bu mantıktan yola çıkarak bu koşullandırmayı; tasarım tarafında datalist, gridview vb veri listeleme araçları içinde çeşitli yerlerde kullanabilirsiniz.
Herkese İyi Çalışmalar
Herkese İyi Çalışmalar
15 Mayıs 2018 Salı
Asp.Net Datalist - Alt Toplam
Merhabalar,
Datalist kontrolünü esnekliğinden ve istediğim gibi kullanabilmemden dolayı seviyorum. Şimdi datalist kontrolünde alt toplamı nasıl elde edeceğimizden bahsedeceğim kısaca.
Projemizde gerekli tasarımları yaptıktan sonra Datalist'in footerTemplate etiketinin altına bir adet toplamı göstereceğimiz bir adet Label ekliyoruz.
<asp:Label ID="LBLmatrah" runat="server" Text="0"></asp:Label>
Şimdi ise Bu Label'a toplamı yazağımız koda gelelim. Datalist'in ItemDataBound eventine gidiyoruz.
if (e.Item.ItemType == ListItemType.Footer)
string.Format("{0:N}", Convert.ToDouble(dsetbaslik.Tables[0].Compute("Sum(MATRAH)", "MATRAH >= 0").ToString()));
}
}
Şimdi burada dikkat etmemiz gereken noktalar:
string satis = (dsetDetay.Tables[0].AsEnumerable()
Bu koşullu toplamayı union ile iki veya daha fazla sorguyu birleştirdiğiniz zaman da kullanabiliriz, ama o zaman tip diye birer sütun oluşturacağız. Diyeceğiz ki : ilk sorguda tip alanı tip1, uniondan sonraki ikinci sorguda tip2 diyeceğiz. Sonra da toplama işleminde where koşulunun olduğu yere hangisinin toplamını istiyorsak onu yazacağız.
Herkese İyi Çalışmalar
Datalist kontrolünü esnekliğinden ve istediğim gibi kullanabilmemden dolayı seviyorum. Şimdi datalist kontrolünde alt toplamı nasıl elde edeceğimizden bahsedeceğim kısaca.
Projemizde gerekli tasarımları yaptıktan sonra Datalist'in footerTemplate etiketinin altına bir adet toplamı göstereceğimiz bir adet Label ekliyoruz.
<asp:Label ID="LBLmatrah" runat="server" Text="0"></asp:Label>
Şimdi ise Bu Label'a toplamı yazağımız koda gelelim. Datalist'in ItemDataBound eventine gidiyoruz.
if (e.Item.ItemType == ListItemType.Footer)
{
if
(dsetbaslik.Tables[0].Rows.Count > 0)
{
((Label)e.Item.FindControl("LBLmatrah")).Text = string.Format("{0:N}", Convert.ToDouble(dsetbaslik.Tables[0].Compute("Sum(MATRAH)", "MATRAH >= 0").ToString()));
}
}
Şimdi burada dikkat etmemiz gereken noktalar:
- Öncelike dataset'imiz global tanımlandığı için buradan rahatlıkla verilerimize erişebiliyoruz.
- İlk olarak LBLMatrah değişkenimiz footer alanında olduğu için if ile kontrol ediyoruz. Sonra herhangi bir hata almamak için ilk önce gelen satır sayımız 0'dan büyük mü diye kontrol ediyoruz.
- Sum kodunun yanındaki değişkenimiz ise bizim verileri çektiğimizde toplamını alacağımız sütunun adıdır.
- MATRAH>=0 kısmı ise koşulumuzdur. Ben burada 0 ve 0'dan büyük olanların hepsini topla dedim. Eğer siz isterseniz bu 0'ı değiştirerek belli bir değerin üzerindekileri toplayabilirsiniz.
string satis = (dsetDetay.Tables[0].AsEnumerable()
.Where(r
=> r.Field<string>("AL_SAT") == "SATIS")
.AsDataView()
.ToTable()
.Compute("SUM(MATRAH)", "SUM(MATRAH)
>= 5000"))
.ToString();
Bu koşullu toplamayı union ile iki veya daha fazla sorguyu birleştirdiğiniz zaman da kullanabiliriz, ama o zaman tip diye birer sütun oluşturacağız. Diyeceğiz ki : ilk sorguda tip alanı tip1, uniondan sonraki ikinci sorguda tip2 diyeceğiz. Sonra da toplama işleminde where koşulunun olduğu yere hangisinin toplamını istiyorsak onu yazacağız.
Herkese İyi Çalışmalar
14 Mayıs 2018 Pazartesi
Yeniden Dönüş
Merhabalar,
Yaklaşık 5 yıldır ara verdiğim not defterime tekrardan yazmaya başlıyorum. Haziran 2013'de Pamukkale Üniversitesi Bilgisayar Mühendisliği bölümünden mezun oldum. Sonrasında askerliğimi yaptım. Şu anda Şubat 2015'de çalışmaya başladığım özel bir tekstil firmada yazılım, program destek, donanım, network vb konularda çalışmaktayım. İşe başladıktan sonra anladım ki okul ile iş hayatının hiç bir alakası yok :) Öğrencilik zamanınızda ne kadar kendinizi geliştirirseniz o kadar rahat başlarsınız iş hayatına. Ben onun zorluğumu çektim.
Bundan sonra blogumda yazılım, donanım, network vb. konularda notlar tutacağım. Umarım sizler de işinize yarar bilgiler bulabilirsiniz.
Herkese İyi Günler
Yaklaşık 5 yıldır ara verdiğim not defterime tekrardan yazmaya başlıyorum. Haziran 2013'de Pamukkale Üniversitesi Bilgisayar Mühendisliği bölümünden mezun oldum. Sonrasında askerliğimi yaptım. Şu anda Şubat 2015'de çalışmaya başladığım özel bir tekstil firmada yazılım, program destek, donanım, network vb konularda çalışmaktayım. İşe başladıktan sonra anladım ki okul ile iş hayatının hiç bir alakası yok :) Öğrencilik zamanınızda ne kadar kendinizi geliştirirseniz o kadar rahat başlarsınız iş hayatına. Ben onun zorluğumu çektim.
Bundan sonra blogumda yazılım, donanım, network vb. konularda notlar tutacağım. Umarım sizler de işinize yarar bilgiler bulabilirsiniz.
Herkese İyi Günler
25 Temmuz 2013 Perşembe
Entity Framework Giriş
Merhabalar, bu yazımızda Entity Framework'e giriş yapacağız ve verileri çekip datagridview'de görüntüleme yapacağız.Entity Framework'ü mutlaka öğrenin derim ben.. İlk olarak Entity Framework (EF) bağlantısını nasıl yapacağımızı anlatacağım. Solutions Explorer penceresinde projemize sağ tıklayıp Add > New Item diyoruz ve karşımıza çıkan pencereden yan taraftan Data sekmesini seçiyoruz ve ADO.NET Entity Data Model seçeneğini seçip Add butonuna tıklıyoruz.
Arkasından Generate Database'i seçip Next'e tıklıyoruz. Kullancağımız veri tabanını seçiyoruz ve next'e tıklıyoruz. Eğer kullanacağımız veri tabanımızı combobox'da göremiyorsak New Connection butonuna tıklıyoruz. Bilgisayarımızın adını giriyoruz, alt taraftan da veri tabanımızı seçiyoruz ve tamama tıklıyoruz. Şimdi açılan pencereden ise projemizde kullanacağımız tablo view ve store procedure'leri seçip finish diyoruz.
Daha sonra ise projemize gelelim. Projemize bir adet buton ve datagridview ekleyelim. Arkasından ise global değişken olarak entity framework'ümüz için bağlantı nesnesini oluşturalım.
Butonumuzun click event'ına ise şu kodları yazıyoruz:
İşte bu kadar kolay :) Önceden olsa connectionstring ve komut cümleleri filan yazacaktık, bunları bağlayacaktık filan. Ama gördüğünüz üzere Entity Framework ile bunu iki üç satır kod ile yaptık. bir sonraki yazımda EF'de kayıt ekleme silme güncelleme gibi işlemleri anlatacağım, herkese iyi çalışmalar.
Arkasından Generate Database'i seçip Next'e tıklıyoruz. Kullancağımız veri tabanını seçiyoruz ve next'e tıklıyoruz. Eğer kullanacağımız veri tabanımızı combobox'da göremiyorsak New Connection butonuna tıklıyoruz. Bilgisayarımızın adını giriyoruz, alt taraftan da veri tabanımızı seçiyoruz ve tamama tıklıyoruz. Şimdi açılan pencereden ise projemizde kullanacağımız tablo view ve store procedure'leri seçip finish diyoruz.
Daha sonra ise projemize gelelim. Projemize bir adet buton ve datagridview ekleyelim. Arkasından ise global değişken olarak entity framework'ümüz için bağlantı nesnesini oluşturalım.
LisansTezi_VTEntities entity = new
LisansTezi_VTEntities();
Butonumuzun click event'ına ise şu kodları yazıyoruz:
var sorgu = from veriler in entity.TBL_Firma select
veriler;
dataGridView1.DataSource = sorgu;
İşte bu kadar kolay :) Önceden olsa connectionstring ve komut cümleleri filan yazacaktık, bunları bağlayacaktık filan. Ama gördüğünüz üzere Entity Framework ile bunu iki üç satır kod ile yaptık. bir sonraki yazımda EF'de kayıt ekleme silme güncelleme gibi işlemleri anlatacağım, herkese iyi çalışmalar.
24 Temmuz 2013 Çarşamba
C# ile Stored Procedure Kullanımı
Merhabalar bir önceki yazımda SQL Server'da Stored Procedure (SP) oluşturmayı anlatmıştım. Şimdi ise bu oluşturduğumuz SP'yi uygulamalarımızda nasıl kullanacağımıza bakacağız. Ben örnek olarak C# dilinde kayıt ekleyebileceğimiz basit bir uygulama yapacağım.
Öncelikle bir adet form uygulaması açalım ve 4 adet textbox ve birer tane datetimepicker ile buton ekleyelim. ilk olarak kullanacağımız SP'yi yazalım. Kayıt ekleyeceğimiz SP şu şekilde olacak:
Gördüğünüz gibi dışarıdan ad, soyad, telefon, mail ve kayıt tarihini alıyoruz. ID otomatik artan olduğu için burada kullanmadık. Execute deyip derliyoruz SP'mizi. Bir önceki yazımda buna değinmiştim. Şimdi gelelim bunu C# içerisinde nasıl kullanacağımıza, ilk olarak global değişken olarak bağlantı ve komut nesnelerimiz tanımlıyoruz.
Daha sonra ise Form_Load kısmına ConnectionString ifademizi yazıp bağlantımızı açıyoruz arkasından.
Butonumuzun click event'ına gelelim şimdi, kodlarımız şu şekilde:
Burada dikkat edeceğimiz noktalar ise komut değişkenimizin tipini Stored Procedure olarak belirtmemiz, CommandText kısmına SQL sorgusu yerine SP'mizin adını yazmak, parametrelerimizi eklerken tiplerine dikkat etmek ve son olarak da parametrelerimizi Clear ile temizlemek, yoksa daha sonra tekrar SP'yi çalıştıracağımızda hatalar ile karşılaşıyoruz.
Store Procedure oluşturmayı ve bir uygulama içinde kullanmayı öğrenmiş olduk. Entity framewok yada LinQ ile uğraşanlar bu şekilde ConnectionString yazmayı sevmezler :) Bir sonraki yazımda Entity Framewoka giriş yapacağım bende. Daha sonra Entity Framework içinde de Store Procedure nasıl kullanılır değineceğiz. Herkese iyi çalışmalar :)
Öncelikle bir adet form uygulaması açalım ve 4 adet textbox ve birer tane datetimepicker ile buton ekleyelim. ilk olarak kullanacağımız SP'yi yazalım. Kayıt ekleyeceğimiz SP şu şekilde olacak:
CREATE PROCEDURE sp_uye_ekle
@UyeAdi nvarchar(50),
@UyeSoyadi nvarchar(50),
@UyeTel nvarchar(50),
@UyeMail nvarchar(50),
@Baslangic_Tarihi datetime
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO UyeTablosu
VALUES(@UyeAdi, @UyeSoyadi, @UyeTel, @UyeMail, @Baslangic_Tarihi)
END
Gördüğünüz gibi dışarıdan ad, soyad, telefon, mail ve kayıt tarihini alıyoruz. ID otomatik artan olduğu için burada kullanmadık. Execute deyip derliyoruz SP'mizi. Bir önceki yazımda buna değinmiştim. Şimdi gelelim bunu C# içerisinde nasıl kullanacağımıza, ilk olarak global değişken olarak bağlantı ve komut nesnelerimiz tanımlıyoruz.
SqlConnection baglanti = new SqlConnection();
SqlCommand komut = new
SqlCommand();
Daha sonra ise Form_Load kısmına ConnectionString ifademizi yazıp bağlantımızı açıyoruz arkasından.
baglanti.ConnectionString = "……"; //ConnectionString ifademiz gelecek buraya
baglanti.Open();
Butonumuzun click event'ına gelelim şimdi, kodlarımız şu şekilde:
komut.Connection = baglanti;
komut.CommandType = CommandType.StoredProcedure;
komut.CommandText = "sp_uye_ekle";
komut.Parameters.Add("@UyeAdi",
adTXT.Text);
komut.Parameters.Add("@UyeSoyadi",
soyadTXT.Text);
komut.Parameters.Add("@UyeTel",
telTXT.Text);
komut.Parameters.Add("@UyeMail",
email);
komut.Parameters.Add("@Baslangic_Tarihi", Convert.ToDateTime(dateTimePicker1.Value.ToShortDateString()));
komut.ExecuteNonQuery();
komut.Parameters.Clear();Burada dikkat edeceğimiz noktalar ise komut değişkenimizin tipini Stored Procedure olarak belirtmemiz, CommandText kısmına SQL sorgusu yerine SP'mizin adını yazmak, parametrelerimizi eklerken tiplerine dikkat etmek ve son olarak da parametrelerimizi Clear ile temizlemek, yoksa daha sonra tekrar SP'yi çalıştıracağımızda hatalar ile karşılaşıyoruz.
Store Procedure oluşturmayı ve bir uygulama içinde kullanmayı öğrenmiş olduk. Entity framewok yada LinQ ile uğraşanlar bu şekilde ConnectionString yazmayı sevmezler :) Bir sonraki yazımda Entity Framewoka giriş yapacağım bende. Daha sonra Entity Framework içinde de Store Procedure nasıl kullanılır değineceğiz. Herkese iyi çalışmalar :)
23 Temmuz 2013 Salı
SQL Server'da Stored Procedures Yazmak
Merhabalar, bugün veri tabanı ile uğraşan herkesin işine yarayacak bir konuya değiniyorum. Stored Procedures (SP) kullanımı çok kolay ve etkili bir yapıdır. Sorgularımızın cevaplarını çok hızlı bir şekilde döndürmektedir. Peki bunun nasıl yapıyor? SP'ler Database SErver'ın içinde tutulur ve sadece ilk çalıştırıldıkları anda derlenirler. Her çalıştırmada derlenme işlemi olmadığından daha hızlı çalışmaktadır. SP ile tablolarımızdan veri çekme, tabloya veri ekleme, silme ve veriyi güncelleme gibi işlemleri kolaylıkla yerine getirebilmekteyiz.
Peki SP nasıl yazılır? İlk olarak SQL Server'ı açıyoruz. hangi database için SP yazacaksak o database'in başındaki + işaretine tıklıyoruz. Sonra Programmability'in yanındaki + işaretine tıklıyoruz. Store Procedures sekmesine tıklıyoruz ve New Stored Procedure'a tıklıyoruz.
Bu adımları yaptıktan sonra karşımıza şöyle bir pencere gelecektir.
Bu pencere gözünüzü korkutmasın yapılacak işlemler gayet basit. 1 numaralı yerde SP'ye isim veriyoruz. 2 numaralı kısımda ise SP'miz dışarıdan parametre alacaksa onu belirtiyoruz. Parametrenin türünü ve belirtmeyi ve parametrenin başına @ işareti koymayı kesinlikle unutmuyoruz. 3 numaralı kısımda ise veri çekme, ekleme, silme ve veriyi güncelleme gibi sql cümleciğini yazıyoruz.
Şimdi basit bir sorgu yazalım ve çalıştıralım. Kişiler tablosundan Kisi_ID'si girilen kişinin verilerini görüntüleyelim. Ben 1 numaradaki isim kısmına SP_kisicek diyorum. Dışarıdan bir parametre alacağız, o da kişinin ID'si bu yüzden 2 numaralı kısıma ise @id isminde bir parametre tanımlıyorum... Sorgumuz şu şekilde olacak
CREATE PROCEDURE SP_kisicek
@id int
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM TBL_Kisi WHERE Kisi_ID=@id
END
GO
Sorgumuzu yazdıktan sonra Execute butonuna tıklayarak derliyoruz ve hata var ise görüyoruz. Peki yazdığımız bu SP'yi nasıl çalıştırıp test edeceğiz? SQL Serverda New Query diyerek yeni bir sorgu açıyoruz ve exec SP_kisiekle 1 diyoruz.. bize Kisi_ID'si 1 olan kişinin verileri gelecektir. Ayrıca ekleme silme güncelleme gibi işlemleri de yapabiliriz. Veri eklemek istersek kodlarımız şu şekilde olacak:
CREATE PROCEDURE SP_havuzekle
@id int,
@ad nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO TBL_Havuz VALUES (@id, @ad)
END
GO
!!! Dikkat etmemiz gereken noktalar birden fazla parametre olduğu için parametreleri virgül ile ayırıyoruz ve eğer ID değişkenimizi otomatik artan yaptıysak ekleme sorgusunda yazmıyoruz.
Silme işleminde ise parametre olarak sadece ID değişkenimizi alacağız ve ID'si bu girilen ID'ye eşit olan verileri sileceğiz.
Güncelleme işleminde ise parametre olarak Primary key'imizi ve güncelleyeceğimiz veriyi alıyoruz. Daha sonra ise sorgumuzu yazıyoruz ve çalıştırıyoruz.
Son olarak söyleyeceğim yazdığınız Stored Procedures üzerinde değişiklik yapacaksanız Object Explorer penceresinde SP yazma işleminde yaptığımız işlemleri yapıp kendi yazdığımız SP'nin üzerine geliyoruz ve Modify diyoruz. Daha sonra değiştirmek istediğimiz kısımları değiştirip tekrardan Execute diyerek derliyoruz. Bir sonraki yazıda görüşmek üzere :)
Peki SP nasıl yazılır? İlk olarak SQL Server'ı açıyoruz. hangi database için SP yazacaksak o database'in başındaki + işaretine tıklıyoruz. Sonra Programmability'in yanındaki + işaretine tıklıyoruz. Store Procedures sekmesine tıklıyoruz ve New Stored Procedure'a tıklıyoruz.
Bu adımları yaptıktan sonra karşımıza şöyle bir pencere gelecektir.
Bu pencere gözünüzü korkutmasın yapılacak işlemler gayet basit. 1 numaralı yerde SP'ye isim veriyoruz. 2 numaralı kısımda ise SP'miz dışarıdan parametre alacaksa onu belirtiyoruz. Parametrenin türünü ve belirtmeyi ve parametrenin başına @ işareti koymayı kesinlikle unutmuyoruz. 3 numaralı kısımda ise veri çekme, ekleme, silme ve veriyi güncelleme gibi sql cümleciğini yazıyoruz.
Şimdi basit bir sorgu yazalım ve çalıştıralım. Kişiler tablosundan Kisi_ID'si girilen kişinin verilerini görüntüleyelim. Ben 1 numaradaki isim kısmına SP_kisicek diyorum. Dışarıdan bir parametre alacağız, o da kişinin ID'si bu yüzden 2 numaralı kısıma ise @id isminde bir parametre tanımlıyorum... Sorgumuz şu şekilde olacak
CREATE PROCEDURE SP_kisicek
@id int
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM TBL_Kisi WHERE Kisi_ID=@id
END
GO
Sorgumuzu yazdıktan sonra Execute butonuna tıklayarak derliyoruz ve hata var ise görüyoruz. Peki yazdığımız bu SP'yi nasıl çalıştırıp test edeceğiz? SQL Serverda New Query diyerek yeni bir sorgu açıyoruz ve exec SP_kisiekle 1 diyoruz.. bize Kisi_ID'si 1 olan kişinin verileri gelecektir. Ayrıca ekleme silme güncelleme gibi işlemleri de yapabiliriz. Veri eklemek istersek kodlarımız şu şekilde olacak:
CREATE PROCEDURE SP_havuzekle
@id int,
@ad nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO TBL_Havuz VALUES (@id, @ad)
END
GO
!!! Dikkat etmemiz gereken noktalar birden fazla parametre olduğu için parametreleri virgül ile ayırıyoruz ve eğer ID değişkenimizi otomatik artan yaptıysak ekleme sorgusunda yazmıyoruz.
Silme işleminde ise parametre olarak sadece ID değişkenimizi alacağız ve ID'si bu girilen ID'ye eşit olan verileri sileceğiz.
Güncelleme işleminde ise parametre olarak Primary key'imizi ve güncelleyeceğimiz veriyi alıyoruz. Daha sonra ise sorgumuzu yazıyoruz ve çalıştırıyoruz.
Son olarak söyleyeceğim yazdığınız Stored Procedures üzerinde değişiklik yapacaksanız Object Explorer penceresinde SP yazma işleminde yaptığımız işlemleri yapıp kendi yazdığımız SP'nin üzerine geliyoruz ve Modify diyoruz. Daha sonra değiştirmek istediğimiz kısımları değiştirip tekrardan Execute diyerek derliyoruz. Bir sonraki yazıda görüşmek üzere :)
22 Temmuz 2013 Pazartesi
SQL Server Tablo Değişikliği Hatası
Merhabalar, SQL Server kullanan herkes
bu hata ile mutlaka karşılaşmıştır.
“Saving changes is not permitted. The
changes you have made require the following tables to be dropped and
re-created. You have either made changes to a table that can't be re-created or
enabled the option Prevent saving changes that require the table to be
re-created.”
Bu hatayı almamızın nedenleri ise
şunlardır:
* Primary key
ekleme/değiştirme
* Foreign key
ekleme/değiştirme
* Yeni bir kolon
ekleme
* Varolan bir
kolonu silme
* Kolon özelliklerini
değiştirme
Yapmamız gereken işlem çok basit.
Öncelikle Tools sekmesinden Options menüsüne giriyoruz. Karşımıza şu şekilde
bir pencere gelecek.
29 Haziran 2013 Cumartesi
Web Servis ile TC Kimlik No Doğrulama
Merhabalar, şimdi web servis kullanarak tc kimlik
numaramızın doğrulamasını yapacağız. Web servisin ne olduğuna bakalım öncelikle; Web servisler modern internet döneminin XML mesajlaşma tabanlı entegrasyon
yöntemi ya da diğer bir deyişle api’leridir. Web servisler çok amaçlı
kullanılabilirler. Öncelikli amaçlar arasında, farklı sistemlerin birbirine
entegrasyonu – mesajlaşması bulunmaktadır. Veri alışveriş yöntemine ait
standartlar olduğundan dolayı web servisler platform bağımsızdır. Yani, .Net
ile yazılan bir web servis java uygulamalarında kullanılabildiği gibi, java ile
yazılmış bir web servis aynı mantıkla, .Net uygulamalarında ve ASP.Net web
sitelerinde kullanılabilir.
Uygulamaya geçelim şimdi de. Öncelikle Google’a tc no
doğrula yazarak https://tckimlik.nvi.gov.tr/
sitesine giriyoruz.
Resimde işaretli olan yerde sitenin bizim kullanmamıza izin
vermiş olduğu web servisi görmekteyiz. Son olarak da şunu belirteyim bu
uygulamayı isterseniz Asp.Net’de isterseniz Windows Form Uygulaması olarak
yapabilirsiniz. Ben form uygulaması yapacağım şimdi. Form üzerine 4 textbox, 5 label
ve 1 buton ekliyoruz. Uygulamamızın görüntüsü şu şekilde olacak..
İlk olarak Solutions Explorer’daki References’a sağ tıklayıp
Add Service Reference diyoruz ve açılan penceredeki adres kısmına https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL
linkini yapıştırıyoruz ve GO butonuna basıyoruz. Bu butona tıklayınca web servis üzerinden
kullanabileceğimiz fonksiyonlar görünmektedir. İsterseniz resim üzerinde işaretli olan yerden
servisin ismini değiştirebilirsiniz. Ben değiştirmedim, eğer değiştirirseniz
kodlarda ServiceReference1
yazan yere verdiğiniz ismi yazacaksınız.
Daha sonra ise butonun click event’ına şu kodları yazıyoruz:
var client = new
ServiceReference1.KPSPublicSoapClient();
var cevap = client.TCKimlikNoDogrula
(Convert.ToInt64(textBox1.Text),
textBox2.Text.Trim().ToUpper(),
textBox3.Text.Trim().ToUpper(),
Convert.ToInt32(textBox4.Text));
label1.Text = "Sonuc
: " + cevap.ToString();
Öncelikle eklediğimiz web servisin fonksiyonlarına ulaşmak
için istemciye (client) ait client adında bir nesne tanılmıyoruz ve daha sonra
bu istemci ile servisin TCKimlikNoDogrula fonksiyonuna ulaşıyoruz. Bu fonksiyon
bize boolean türünde yani true yada false şeklinde bir cevap gönderiyor. Biz bunu
cevap isminde bir değişkene atıyoruz ve en son olarak da bunu label ile ekranda
görüntülüyoruz.
Web servisleri her zaman kullanabileceğimiz bir teknolojidir ve bence kesinlikle öğrenilmesi gerekmektedir. Siz uygulama geliştirdiğiniz şirketin web servislerini kullanarak uygulamanızın şirketin sistemi ile entegre bir şekilde çalışmasını sağlamış olacaksınız. Bu örnekleri artırmak tabii ki de mümkün, tavsiyem öğrenmenizdir arkadaşlar, herkese iyi çalışmalar...
18 Mayıs 2013 Cumartesi
Word'de Sayfa Numaralandırma
Merhabalar arkadaşlar Word kullanan herkesin başına gelen
bir durumdan bahsetmek istiyorum. Özellikle de tez yazan arkadaşlarımın işine
yarayacak.
Örneğin elimizde 25 sayfalık bir Word belgesi olsun. Biz ilk
6 sayfayı Romen rakamlarıyla 7'den sonrasını ise normal rakamlar ile 1'den başlayarak numaralandırmak isteyelim. Bunun için öncelikle 6 sayfamızın sonuna geliyoruz ve şu yolu
izliyoruz:
Sayfa Düzeni --> Kesmeler --> Sonraki Sayfa’ya
tıklıyoruz.
Sonra ilk sayfaya gidiyoruz ve ekle menüsünden Sayfa Numarasına tıklayıp numaranın nerede görüneceğini seçiyoruz.
Sonra şekilden görüldüğü gibi Sayfa Numarası kısmından Sayfa
Numaralarını Biçimlendir diyoruz ve Romen rakamlarını seçiyoruz.
Daha sonra ise ikinci kısmımızın başı olan 7 sayfaya
geliyoruz ve aynı işlemleri tekrar ediyoruz. Bu sefer açılan o küçük pencereden normal rakamları ve Sayfa Numaralandırma kısmından Başlangıç’ı
seçiyoruz ve başlangıç değerimizi 1 yapıyoruz. Bu şekilde sayfamızın bir kısmını Romen
rakamlarıyla numaralandırırken diğer kısımlarını normal sayılarla numaralandırıyoruz.
Siz isterseniz aynı yöntemle 2,3,4… bölüme bölebilirsiniz. Umarım işinize yarar, iyi çalışmalar...
Kaydol:
Kayıtlar (Atom)
-
Merhabalar, şimdi web servis kullanarak tc kimlik numaramızın doğrulamasını yapacağız. Web servisin ne olduğuna bakalım öncelikle; We...
-
Merhabalar, ilk yazımda sizlerle tezimde de kullandığım bir yöntemden bahsedeceğim. Yaptığım araştırmalar sonucunda pek de net bir ka...
-
Merhaba, Bu yazımda sql server'da birden çok satırı birleştirip tek satır yapmayı anlatacağım. Senaryomuz şu şekilde olsun mesela; bir...
SQL Server - Satırları Birleştirme
Merhaba, Bu yazımda sql server'da birden çok satırı birleştirip tek satır yapmayı anlatacağım. Senaryomuz şu şekilde olsun mesela; bir...









