< Yazılım Kaynak - Blogcu



Google


Visual Basic de MSFlexGrid Kullanımı

MSFlexGrid Kullanımı

MS Flex Grid Kontrolü

Özellikleri:

Kullanımı çok kolay bir kontroldür. Fazla deneyime gerek yok. Teknik olarak Excel'e benzer.

şimdi biraz kontrolümüzü taniyalim:

--------------

Private Sub Form_Load()

Msflexgrid1.cols = 8

Msflexgrid1.rows = 8

End Sub

--------------

Burada görüldügü üzere 9*9'luk bir çalışma tablosu oluşturduk.

obje.cols , sütun sayısını

obje.rows ise sıra sayısını belirtir.

Peki diyeceksiniz ki :"Oraya 8 yazmışsın,ama 9*9'luk bir tablo oluştu. Neden?"

Nedeni açık,eğer listbox ile çalıştıysanız,o halde liste sayı sırasının 1 değil 0 dan başladığını fark etmişsinizdir. İşte MS Flex Grid Kontrolü'nde durum böyledir.

şimdi gelelim fasulyenin dezavantajlarına:

--------------

Private Sub Form_Load()

Msflexgrid1.col = 0

Msflexgrid1.row = 5

Msflexgrid1.Text= "Ahmet"

End Sub

--------------

Ne demek bu? Başlangiç sütunu ile 4.sıramın kesiştigi yerin yazisi Ahmet olacak.

Bir de olayın içine döngü sokalım.

--------------

Dim dön1 'döngü için tanıttık

Private Sub Form_Load()

For dön1 = 0 to 5 'sütün sayısı 0 ila 5 arası

For dön2 = 0 to 2 'sıra sayısı 0 ila 2 arası

Msflexgrid1.col = dön1

Msflexgrid1.row = dön2

Msflexgrid1.Text = "Ahmet" '6*3 lük bir alandaki bütün hücrelerin içeriği Ahmet oldu

Next dön2 'döngüye devam

Next dön1

End Sub

--------------

Karşılaşılmasi muhtemel durumlar:

1. Ugraşmak istediginiz hücre tabelada yer almıyorsa o zaman hata iletisi alırız. Yani 2*2'lik bir tabelada "olmayan 3. sütun"a bir şey yazdirmak mümkün olamaz, hata aliriz.

2. Gördügünüz gibi MS Flex Grid Kontrolü'nün her tarafı beyaz değil gri kısımları da var . Bu kısımların kaç tane olacağını belirleyebiliyoruz. Ama içeriğini program çalışırken nedense tıklayarak değiştiremiyoruz.

Ne yapabiliriz:

Aklınıza gelen herşeyi; ders programı ve telefon rehberi bunlardan en basit olanları. Daha zor olanlaı ise dosyalama, databasing v.s.

Yazar Ali Irmak Özdaðlý

Sql de Stored prosedürler

Stored prosedürler
Stored Procedures SQL Server üzerinde saklanan önceden derlenmiş SQL ifadeleridir. Önceden derlenmiş olarak bulunduklarından her türlü sorgulamada en iyi performansı verirler. SQL Server' da sistem tarafından "sp_" ile başlayan isimlerle tanımlanmış bir çok prosedür mevcuttur. Bunlar daha çok adminstration maksatları için ve sistem tablolarından bilgi toplamak için kullanılırlar. Kullanıcı tarafından da kendi prosedürlerini tanımlamak oldukça kolay bir işlemdir. Kullanıcı kendi ihtiyaçları doğrultusunda prosedürler oluşturabilir, kullanabilir, onların hakkında bilgi toplayabilir ve birinden ötekine parametre geçişi sağlayabilir. SQL Server' ın sunduğu imkanlar oldukça geniş olmasına rağmen biz yalnızca kullandığımız kadarıyla bu konuya değineceğiz.

Stored Procedure' ler, SQL Server' a güç, etkinlik ve esneklik kazandırırlar. Kullanıldıkları zaman SQL ifadelerinin ve toplu işlemlerin performansını gözle görünür bir biçimde arttırırlar.

Stored Procedure' lar :

- Parametre alabilirler,
- Başka prosedürleri çağırabilirler,
- Kedisini çağıran bir prosedür veya toplu işleme başarılı olduğunu ya da olamadığını, hata oluşması durumunda hatanın nedenini bir durum değeri olarak döndürebilirler.
- Parametrelerin değerlerini kendisini çağıran bir prosedüre döndürebilirler.
Stored Procedure' ların tanımlandıkları andan itibaren tabi tutuldukları işlemlerin farklı olması nedeniyle diğer SQL ifadelerinden ayrılırlar. Direk SQL Server üzerinde saklandıkları için oldukça hızlı çalışan veritabanı nesneleridirler. Bir Stored Procedure ilk kez çalıştırıldığında şu işlemlere tabi tutulur.

Öncelikle prosedürün bileşenleri parçalara ayrıştırılırlar.
Veritabanındaki table, view gibi batka nesnelere referans yapan biletenler için bu nesnelerin varlığı kontrol edilir.
Kontrol işlemi tamamlandıktan sonra prosedürün ismi sysobjects tablosunda ve de prosedürü olutturan kod da syscomments tablosunda saklanır.
Bu adımda derleme işlemi yapılır. Derleme esnasında normalize edilmiş plan ortaya çıkar. (Buna sorgulama ağacı da denir) Oluşturulan sorgulama ağacı sysprocedures tablosunda saklanır.
Stored Procedure ilk defa çalıştığı zaman, sorgulama planı okunur ve tamamen bir prosedür planı içine derlenir. Daha sonra da çalıştırılır. Bu sayede stored procedure her çalıştırıldığında parçalama, kontrol, sorgulama ağacı oluşturma işlemleri yapılmaz. Bu şekilde de zamandan önemli ölçüde tasarruf edilmiş olunur.
Bundan sonra, SQL Server’ ın çalıştığı andan itibaren prosedürün ilk kez çalıştırılmasıyla birlikte, prosedür derlenmiş bir şekilde belleğe yerleştirilir. Çünkü diğer işlemler prosedür oluşturulurken yapılmış ve bitmiştir. Tekrar yapılmazlar. Stored Procedure kullanmanın başka bir yararı da budur. Bir kez çalıştırıldıktan sonra prosedür planı procedure cache bölgesinde muhafaza edilir. Bu da bir sonraki çağrılışında direk cache’ den okunup çalıştırılması demektir. Böylece standart bir SQL sorgulamasının tekrar tekrar çalıştırılmasından çok daha üstün bir performans elde edilir.

Stored Procedure kullanmanın göze çarpan diğer faydalarını şöyle sıralayabiliriz :

Uygulamanın getirdiği bazı iş kuralları prosedür içinde tanımlanabilir. Bir kez oluştuktan sonra bu kurallar birden çok uygulama tarafından kullanılarak daha tutarlı bir veri yönetimi sağlanır. Ayrıca bir fonksiyonelliğin değişmesi ihtiyacı doğduğunda her uygulama için değişiklik yapmak yerine, sadece bir platformda değişiklik yapılır.
Tüm prosedürler üstün performansla çalışır ancak birden fazla çalıştırılacak olan prosedürler sorgulama planları procedure cache içinde saklandığından daha da hızlı çalışırlar.
Stored Procedure’ ler SQL Server start ettikten sonra otomatik olarak çalıştırılmak üzere ayarlanabilirler.
Stored Procedure’ ler harici olarak kullanılırlar. Trigger’ lardan farklı olarak prosedürler uygulama tarafından ya da ****** tarafından bir şekilde çağrılmak zorundadırlar. Otomatik devreye giremezler.
Stored Procedure’ lerın içinde SQL sorgulama diline ek olarak SQL Server’ ın kendi fonksiyonlarından da yararlanılabilir. “IF … THEN” yapılarını ya da normal bir sorgulamada kullanamayacağımız DATEADD, DATEDIFF gibi etkili bir biçimde veri manipülasyon imkanı sağlayan fonksiyonları da kullanabiliriz.
Kullanıcının bir tabloya erişim izni olmasa bile o tablo üzerinde işlem yapan bir stored procedure’ ü kullanabilir.

Stored Procedure’ lerin oluşturulması ve kullanılması ile ilgili örnekler SQL Server üzerinde mevcuttur. Biz yalnızca oluşturduğumuz uygulamada kullandıklarımıza benzer olan yapılar üzerinde açıklamalarda bulunacağız.

Bir Stored Procedure’ ün oluşturulması için bazı kurallar mevcuttur. Örneğin en fazla 255 parametreye sahip olabilir. Referans edilen nesneler prosedür oluşturulmadan önce server üzerinde bulunmak zorundadır. Bir stored procedure içinde Create Default, Create Procedure, Create Rule, Create Trigger, Create View gibi SQL ifadeleri kullanılamazlar. Bunlar biraz aykırı durumlarda karşımıza çıkacak olan kurallardır. Ancak önemli bir noktayı da belirtmek gerekir: Eğer prosedür içinde “SELECT *” ifadesi kullanıldıysa ve daha sonra da bu ifade içinde referans edilen tabloya yeni alanlar eklendiyse prosedür çalıştığında yeni alanlar gözükmezler. Dolayısıyla referans edilen tablo yapısında değişiklik yapılırsa, onu kullanan prosedürün de yeniden derlenmesi gereklidir.

Prosedürlerde Parametre Kullanımı

Parametre kullanmak prosedürün her çalıştığında daha farklı davranış göstermesine imkan tanır. Örnek olarak kendisine verilen test sonuçlarının ortalamasını alan bir prosedür yazabilirsiniz. Prosedürü oluştururken test sonuçlarının değerlerini bilmiyor olabilirsiniz ama prosedür her çalıştığında yeni bir sonuç alırsınız. Parameter veri tipi image tipi hariç her türlü sistem tarafından ya da kullanıcı tarafından tanımlanmış tipleri kabul eder.

Stored Procedure' ün çalışabilmesi için tanımlanmış parametrelerin tümüne değer sağlanması zorunludur. Eğer bir parametre için default bir değer belirlenmişse kullanıcı farklı bir değer almasını istemedikçe parametre default değerini alacaktır. Normal olarak parametreler sırasıyla kullanılmalıdır. Ancak prosedür içinde tanımlanma referansa göre geçirilecek şekilde yapılmışsa, istenilen sırada verilebilir.

OUTPUT opsiyonu başka bir prosedüre değer taşımaya imkan sağlar. Yani bir prosedür kendisini çağıran başka bir prosedüre kendi ürettiği bir çıktı değerini geçirebilir. Bu olay aşağıdaki örnekte gösterilmiştir. Bu prosedür beş parametre kabul eder, ortalamasını alır ve ortalamayı OUTPUT olarak dışarı verir.

CREATE PROCEDURE scores
@score1 smallint,
@score2 smallint,
@score3 smallint,
@score4 smallint,
@score5 smallint,
@myAvg smallint OUTPUT
AS SELECT @myAvg =
(@score1 + @score2 + @score3 + @score4 + @score5) / 5
Bu prosedürdeki myAvg değerini alabilmek için öncelikle bir değişken tanımlayıp sonra prosedürü çalıştırabiliriz.

DECLARE @AvgScore smallint
EXEC scores 10, 9, 8, 8, 10, @AvgScore OUTPUT
SELECT `Ortalama : `, @AvgScore
GO
--------- -----
Ortalama : 9
Dikkat edilirse parametreler tanımlandıkları sıra ile verilmişlerdir. Bu durum pozisyonuna göre verilmedir. İstenirse referansa göre de yapılabilir. Bu yöntem uygulanacaksa prosedürün kullanıldığı yerde parametreler herhangi bir sıraya bağlı tutulmaksızın "parametre ismi = değeri" şeklinde geçirilebilir. Aşağıdaki örnekte bu durum incelenmiştir.

DECLARE @AvgScore smallint
EXEC scores
@score1 = 10, @score3 = 9,
@score2 = 8, @score4 = 8,
@score5 = 10, @myAvg = @AvgScore OUTPUT
SELECT `Ortalama : `, @AvgScore
Sonuç öncekinden farksız olacaktır. Ancak görüldüğü üzere istenilen sıra kullanılabilir. Son olarak; referansa göre geçirilecekse tüm prosedür boyunca bu metod kullanılmalıdır. Prosedürü çağırırken tam ortada diğer moda geçiş yapılamaz.

Prosedürden değer döndürmek için ayrıca RETURN ifadesi kullanılabilir. Bu şekilde OUTPUT ifadelerini hem prosedür içinde hem de prosedürün çağrıldığı yerde tanımlamak zorunda kalınmadan doğrudan değer döndürülebilir. Normal olarak SQL Server 0 ile -99 arası olan değerleri bu şekilde döndürür. Sıfır değeri prosedürün çalışmasında bir hata oluşmadığını belirtir. Diğerleri ise muhtelif hata durumlarında kullanıcıyı uyarmak için kullanılırlar. Ancak kullanıcı RETURN ile bunlar haricinde değerler döndürebilir. Aşağıda kullanımına bir örnek verilmiştir.

CREATE PROC MyReturn
@t1 smallint, @t2 smallint, @retval smallint
AS SELECT @retval = @t1 + @t2
RETURN @retval

Prosedürü oluşturduktan sonra aşağıdaki şekilde kullanılarak sonuç elde edilir.
DECLARE @myReturnValue smallint
EXEC @myReturnValue = MyReturn 9, 9, 0
SELECT `Sonuç : `, @myReturnValue

Site Map

31/7/2007: DELPHİDE VERİTABANI UYGULAMALARI
31/7/2007: SQL Serverda Güvenlik
31/7/2007: SQL Server Servisleri
26/7/2007: Delphide ini dosyalar
19/7/2007: Visual Basic de WAW Dosyalarını Çalmak
19/7/2007: VISUAL BASIC Yordamları (Procedures)
19/7/2007: Birkaç Visual Basic Fonksiyonu
17/7/2007: Delphide Matematik Fonksiyonları
17/7/2007: Delphi De Dosya Arama Fonksiyonları
17/7/2007: Delphide Diziler
17/7/2007: Delphide Tarih ve Zaman Fonksiyonları
17/7/2007: Delphi’de Api Fonksiyonlarını Kullanmak
15/7/2007: Visual Basic de Ekran Çözünürlüğünü Bulmak
15/7/2007: delphi de CD-ROM Drive'ı kontrol etmek
15/7/2007: Delphi menüleri
15/7/2007: Delphide Setup Hazırlama
15/7/2007: Delphi Kullanımı,Delphiye Giriş
15/7/2007: Visual Basic Editörü
15/7/2007: Visual Basic İpuçları
15/7/2007: Sql Server Fonsiyonları
15/7/2007: Sql Komutları ,Sql in Püf noktaları
15/7/2007: Sql e giriş, Veri tabanı kavramı
15/7/2007: Sql Nedir? Yapısı ve Gelişimi

<%EntryDate%>

<%EntryTitle%>

<%EntryBody%>

Yorum yaz! :: Arkadaşına Gönder!

<%EntryCommentCount%> yorum yazılmıştır

  1. Yazan: <%CommentAuthor%> <%CommentAuthorIP%> | Tarih: <%CommentDate%>
    Konu: <%CommentTitle%>
    <%CommentBody%>

    Bağlantı » Düzenle » Sil

« Önceki ::

Whats Your Google PageRank? Türkçe İçerikli Web Siteleri Linkdefteri.com