Aleykümselam,
işinize karışmak istemem ama ilk olarak buton'un kullanım amacı bu şekilde değil.
Tabii ki istediğiniz kadar buton oluşturun bu sizin kararınız.
Eğer veri tabanınızdaki verileri listelemek veya seçenekler oluşturup bu seçenekleri de
programınızı kullanan kullanıcıya sunmak istiyorsanız, doğru yol alternatifleri arasında;
DataGrid, DataView, List, ComboBox vs ve daha fazlası gibi kontrolleri kullanmanızı öneririm.
Yani çok sayıda buton kullanmanız için güçlü bir sebebiniz olmalı.
İkinci olarak iş yerinizin sizin gibi programlamaya istekli birine karşı olan davranışları ve
sizin eğitiminize önem vermemesi de doğal. Çünkü güzelim memleketimizde her diplomayı alıp bir
iş yerinde koltuk kapan kendini bu işi en iyi bilen zannediyor. Yazık.. Kendilerinin ne halde
olduklarını bir bilseler, size böyle davranmazlardı belkide.
Gelelim projenize. Profesyonel olarak bir projenizi ileriye yönelik olarak inşa etmek ve altyapısını
optimal problemlere karşı hazırlıklı tutmak istiyorsanız, kullanmanız gereken başlıca altyapı
adı : Tasarım Desenleri'dir. Tasarım desenleri problemlerin çözümlerine uygulanabilecek/uygulanmış
ve sonuç alınmış neredeyse en iyi altyapı dizaynıdır.
Ardından mimariye bakın lütfen. Yazılım mimarileri ve Tasarım Desenleri büyük veya küçük firmalarda
uzman kişilerin kullandığı ve daha da geliştirdiği objelerdir. Obje diyorum çünkü profesyonel yazılımcılar
yazılan programları daha sonra bir obje olarak kullanabilecek şekilde geliştirirler. Tabii ki bu projenin
yapısına bağlı olmak kaydı ile.
1) Tasarım Desenleri
2) Yazılım Mimarileri. Temel olarak, 2 ya da 3 katmanlı (ingilizce Tier ya da Layer olarak bulabilirsiniz)
mimariler ya da 4 katmanlı mimarilere bakınız. Unutmayın, bu mimariler büyük projeleri kapsamaktadır.
Diyelim ki bir Ms SQL veri tabanım var ve bu veri tabanıma ait bir önceden hazırladığım bir prosedürüm var.
Ve prosedürüm aşağıdaki sorguyu içeriyor.
select count(CategoryID) from Categories
ve aşağıda Form1'in ardına yazılan kodlar.
public Form1()
{
InitializeComponent();
SqlConnection con = null;
SqlCommand cmd = null;
SqlTransaction transaction = null;
try
{
using (con = new SqlConnection("conneciton string.."))
{
using (cmd = new SqlCommand("prosedür ismi", con, transaction))
{
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
transaction = con.BeginTransaction();
cmd.Transaction = transaction;
//SqlReader ya da ExecuteScalar ile geri dönen değerleri alma.
}
}
}
catch (Exception xErr)
{
try
{
if (transaction != null)
{
transaction.Rollback();
transaction.Dispose();
}
//exception & transaction level log..
}
catch (Exception xInErr)
{
//exception log..
}
finally
{
transaction = null;
//exception log..
}
}
}
Burada satır sayısı alınıyor prosedür vasıtasıyla. Ardından yapmak istediğiniz işleme göre yine
bir prosedür ile ilgili veriler çekilir ve Buton oluşturup Text'ine yazma yapabilirsiniz.
Burada programınız hakkında fazla bir bilgim olmadığı için sadece mantığı vermek istedim.
NOT : Program kodlarını denemedim ama sadece mantık verme açısından şu anda yeterli olduğunu
düşünüyorum.