ise;

1- SqlDataSource'un CancelSelectOnNullParameter değeri True ise bunu False yapın.Tekrar deneyin.

hala olmadı diyorsanız;

2- Select olayının calisip calismadiğini anlamak için ya sql profiler kullanın ya da SqlDataSource'un SelectCommand'ina hatalı bir sql sorgusu yazın.


 
Categories: Software

Bir proje yaptınız ve assembly'yi gac a install ettiniz (gacutil -I c:\proje\proje.dll)
Proje.dll i kullanmak istediğiniz diğer projenize eklemek istediğinizde add references penceresinde yarattığınız assembly'yi göremediniz?

Ms destek açıklaması

Registry de ilgili ayarları yaptıktan sonra artık assembly'nizi add reference penceresinde görebilirsiniz.


 
Categories: Post-It | Software

March 23, 2008
@ 12:52 AM
Evet yaklaşık 15 senedir kaykay :) kaymıyordum.Geçenlerde akmerkezdeki sport point e girince dayanamadım ve bir foundation skateboard aldım.Rulman,tekerlekler,trucklar,sliderlar,board, zımpara vs hic bakmadım.Bu haftasonu yazlıkta 15 sene sonra ilk denememi yaptım.

ollie yapabilmiştim. :) eğer Türkiyede braniac tarzında bir program olsaydı iyi bir test olurdu :)


 
Categories:

I'm currently in the planning stages of building a hosted Java web application (yes, it has to be Java, for a variety of reasons that I don't feel like going into right now). In the process, I'm evaluating a bunch of J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container frameworks.

And after spending dozens of hours reading through feature lists and documentation, I'm ready to gouge out my eyes.

Let's pretend I've decided to build a spice rack.

I've done small woodworking projects before, and I think I have a pretty good idea of what I need: some wood and a few basic tools: a tape measure, a saw, a level, and a hammer.

If I were going to build a whole house, rather than just a spice rack, I'd still need a tape measure, a saw, a level, and a hammer (among other things).

So I go to the hardware store to buy the tools, and I ask the sales clerk where I can find a hammer.

"A hammer?" he asks. "Nobody really buys hammers anymore. They're kind of old fashioned."

Surprised at this development, I ask him why.

"Well, the problem with hammers is that there are so many different kinds. Sledge hammers, claw hammers, ball-peen hammers. What if you bought one kind of hammer and then realized that you needed a different kind of hammer later? You'd have to buy a separate hammer for your next task. As it turns out, most people really want a single hammer that can handle all of the different kinds of hammering tasks you might encounter in your life."

"Hmmmmmm. Well, I suppose that sounds all right. Can you show me where to find a Universal Hammer."

"No, we don't sell those anymore. They're pretty obsolete."

"Really? I thought you just said that the Universal Hammer was the wave of the future."

"As it turns out, if you make only one kind of hammer, capable of performing all the same tasks as all those different kinds of hammers, then it isn't very good at any of them. Driving a nail with a sledgehammer isn't very effective. And, if you want to kill your ex-girlfriend, there's really no substitute for a ball-peen hammer."

"That's true. So, if nobody buys Universal Hammers anymore, and if you're no longer selling all those old-fashioned kinds of hammers, what kinds of hammers do you sell?"

"Actually, we don't sell hammers at all."

"So..."

"According to our research, what people really needed wasn't a Universal Hammer after all. It's always better to have the right kind of hammer for the job. So, we started selling hammer factories, capable of producing whatever kind of hammers you might be interested in using. All you need to do is staff the hammer factory with workers, activate the machinery, buy the raw materials, pay the utility bills, and PRESTO...you'll have *exactly* the kind of hammer you need in no time flat."

"But I don't really want to buy a hammer factory..."

"That's good. Because we don't sell them anymore."

"But I thought you just said..."

"We discovered that most people don't actually need an entire hammer factory. Some people, for example, will never need a ball-peen hammer. (Maybe they've never had ex-girlfriends. Or maybe they killed them with icepicks instead.) So there's no point in someone buying a hammer factory that can produce every kind of hammer under the sun."

"Yeah, that makes a lot of sense."

"So, instead, we started selling schematic diagrams for hammer factories, enabling our clients to build their own hammer factories, custom engineered to manufacture only the kinds of hammers that they would actually need."

"Let me guess. You don't sell those anymore."

"Nope. Sure don't. As it turns out, people don't want to build an entire factory just to manufacture a couple of hammers. Leave the factory-building up to the factory-building experts, that's what I always say!!"

"And I would agree with you there."

"Yup. So we stopped selling those schematics and started selling hammer-factory-building factories. Each hammer factory factory is built for you by the top experts in the hammer factory factory business, so you don't need to worry about all the details that go into building a factory. Yet you still get all the benefits of having your own customized hammer factory, churning out your own customized hammers, according to your own specific hammer designs."

"Well, that doesn't really..."

"I know what you're going to say!! ...and we don't sell those anymore either. For some reason, not many people were buying the hammer factory factories, so we came up with a new solution to address the problem."

"Uh huh."

"When we stepped back and looked at the global tool infrastructure, we determined that people were frustrated with having to manage and operate a hammer factory factory, as well as the hammer factory that it produced. That kind of overhead can get pretty cumbersome when you deal with the likely scenario of also operating a tape measure factory factory, a saw factory factory, and a level factory factory, not to mention a lumber manufacturing conglomerate holding company. When we really looked at the situation, we determined that that's just too complex for someone who really just wants to build a spice rack."

"Yeah, no kidding."

"So this week, we're introducing a general-purpose tool-building factory factory factory, so that all of your different tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the tool factory factories that you actually need, and each of those factory factories will produce a single factory based on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your particular project. You'll have *exactly* the hammer you need, and exactly the right tape measure for your task, all at the press of a button (though you may also have to deploy a few *configuration files* to make it all work according to your expectations)."

"So you don't have any hammers? None at all?"

"No. If you really want a high-quality, industrially engineered spice rack, you desperately need something more advanced than a simple hammer from a rinky-dink hardware store."

"And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?"

"Yes."

"Well…All right. I guess that's what I'll have to do. If this is the way things are done now, I guess I'd better learn how to do it."

"Good for you!!"

"This thing comes with documentation, right?"

Original post: http://discuss.joelonsoftware.com/default.asp?joel.3.219431.62


 
Categories: Genel | Software

March 5, 2008
@ 10:40 AM


 
Categories: Genel

Değerli Bilişim Dostlarımız,

Bilişim dünyamıza sürat, etkinlik, verimlilik katacak yeni teknoloji çözümlerimizi tüm dünyayla eş zamanlı olarak ülkemizde de kamuoyumuzla paylaşıyoruz. Bu yılın en önemli yenilikleri, bugüne kadar geliştirilmiş en güvenilir ve en dayanıklı sunucu işletim sistemi Windows Server 2008 ile birlikte bilgi platformu SQL Server 2008 ve yazılım geliştiricisi Visual Studio 2008’in hizmetinize sunulması olacak. Sanallaştırma, iş zekası, yeni nesil İnternet alanlarında geleceğe yön verecek bu yenilikçi ürünlerin lansmanını İstanbul’da 12 Mart 2008 tarihinde Lütfi Kırdar Kongre Salonu’nda gerçekleştireceğiz.

Microsoft Merkezi’nden gelecek uzmanların da konuşmacı olarak katılacağı bu toplantılarda sizi de ağırlamak istiyoruz. Bütün dünyada “Bilişim Kahramanları Aramızda” sloganı ile sunulan 2008 sunucu ürünlerinin tanıtım etkinliklerimizde karşılaşmak umuduyla sizlere çalışmalarınızda başarılar, sağlık ve mutluluk diliyoruz.

Saygılarımızla,

Microsoft Türkiye


Tarih
12 Mart 2008 Çarşamba, 09:00 - 18:00
Yer
Lütfi Kırdar Kongre ve Sergi Sarayı
Gündem
09:00 - 10:00
Kayıt
10:00 - 12:45
Windows Server 2008 | Visual Studio 2008 | SQL Server 2008
Lansmanı
10:00 - 10:40
Hoş Geldiniz: Microsoft Türkiye Genel Müdürü Çağlayan Arkan ve
Platin Sponsorlar
10:40 - 11:00
Dinamik IT - Microsoft MEA Vice President Ali Faramawy
11:00 - 11:50
Uçtan Uca: Windows Server 2008, SQL Server 2008, Visual Studio 2008
11:50 - 12:10
Ara
12:10 - 12:30
Başarı Hikayeleri
12:30 - 12:45
Kahramanlar Sahnede
12:45 - 13:45
Öğle Yemeği


Paralel Sunumlar aynı anda başlayıp farklı salonlarda yapılacaklardır.

Paralel Sunumlar
13:45 -14:35
• Windows Server 2008 Geleceğin Platformu
• SQL Server 2008 Gelişmiş Veri Platformu
• Visual Studio 2008 Yeni Nesil Yazılım Platformu
• Platin Sponsor Sunumu: Tradesoft
14:35
14:50
Ara
14:50 15:40
• Windows Server 2008 Sanallaştırma Teknolojileri
• SQL Server 2008 ile Kritik İş Uygulamaları
• Visual Studio 2008 Yeni Nesil Web Uygulamaları
• Platin Sponsor Sunumu: Fujitsu
15:40 
15:55
Ara
15:55 16:45
• Windows Server 2008 Güvenlik Özellikleri ve NAP
• SQL Server 2008 ile İş Zekası
• Visual Studio 2008 Yeni Nesil Akıllı İstemciler
• Platin Sponsor Sunumu: Intel
16:45
17:00
Ara
17:00  17:50
• Windows 2008 ve Yeni Nesil Web
• SQL Server 2008 ile Dinamik Uygulama Geliştirme
• Visual Studio 2008 Yeni Nesil office uygulamaları
• Platin Sponsor Sunumu: HP


 
Categories:

February 10, 2008
@ 06:30 PM


 
Categories: Genel

February 3, 2008
@ 05:08 PM

Üzerinde çalıştığım bir oyun projesinde yarış zamanlarını ve rezervasyon durumunu gösteren bir sayfa tasarlıyordum.Select işlemini stored proc ile yaptım, yarışa alınacak max kişi sayısını ve mevcut rezervasyon yapan kişi sayısını okuyordum.Sp execute süresi 9 sn idi, aspx in gridview rowdatabound daki işlemleri de ekleyince işlem süresi yaklaşık 15 sn ye ulaşıyordu.

Yarışa alınacak max kişi sayısını page load da okuyup bir dataset e atmayı ve dataview ile gridview in rowdatabound olayında filtrelemeyi denedim.Sp tarafında yarışa alınacak max kişi sayısını çıkardığımda execute süresi 0sn ye indi.Bu güzel bir gelişmeydi fakat sayfayı çalıştırdığımda bu sefer sürenin 16-17 sn ye çıktığını gördüm.

Çaresiz kalmıştım.Birden aklıma DataView yerine HashTable kullanmak geldi.Max kişi sayısını page loadda okuyup hashtable a ekledim.Gridview un rowdatabound olayında da max kişi sayısına HashTable i kullanarak ulaştım.Sonuç inanılmazdı.Sayfa 1 sn den az bir zamanda geliyordu.


 
Categories: Software

January 6, 2008
@ 12:53 AM

Asp.net projelerinizde veritabanı erişimlerini App_Code dir'i icinde tanımladığınız sınıflar içinden yapmak isteyebilirsiniz.Eğer projenizde access veritabanı kullanıyorsanız Server.MapPath() metodunu kullanmakta sorun yaşarsınız çünkü App_Code içindeki bir sınıfta Server sınıfı tanımlı değildir.

App_Code dir i içindeki bir sınıfta Server.MapPath() metodunu aşağıdaki şekilde kullanabilirsiniz.

HttpServerUtility hs=HttpContext.Current.Server;
string APPDATAYOLU = hs.MapPath("~/App_Data");

Kolay gelsin


 
Categories: Software

January 5, 2008
@ 09:44 PM
Asp.net projelerinde genelde verinin db den okunması için sqldatasource 
nesneleri kullanırız.Fakat kullanıcının arama yapması gibi durumlarda 
dinamik sql yaratmamız gerekebilir.Bu tür durumlarda Gridview nesnesinin
datasource özelliğine codebehind da yarattığımız bir DataSet nesnesini
atarız.





Örnek bir search

    protected void btnSearch_Click(object sender, EventArgs e)
    {
        SqlConnection conSQL = new SqlConnection(
            ConfigurationManager.
               ConnectionStrings["XConnectionString"].
                  ConnectionString);
        SqlCommand cmdSQL = new SqlCommand();
       
        string strSQL = "select x,y,z from a_tbl
 where ";

        if (this.txtX.Text.Trim().Length > 0)
        {
            strSQL += "x like @X and ";
            cmdSQL.Parameters.Add(new
               SqlParameter("@X", this.txtX.Text.Trim()));
        }
        if (this.txtY.Text.Trim().Length > 0)
        {
            strSQL += "y like @Y and ";
            cmdSQL.Parameters.Add(
               new SqlParameter("@Y", this.txtY.Text.Trim()));
        }

        if (strSQL.Substring(strSQL.Length - 5, 5) == " and ")
            strSQL = strSQL.Substring(0, strSQL.Length - 5);
        if (strSQL.Substring(strSQL.Length - 7, 7) == " where ")
            strSQL = strSQL.Substring(0, strSQL.Length - 7);

        try
        {
            conSQL.Open();
        }
        catch (Exception excp)
        {
            this.lblSearchInfo.Text = "Hata oluştu -> " +
               excp.Message;
            return;
        }
        cmdSQL.Connection = conSQL;
        cmdSQL.CommandText = strSQL;
        SqlDataReader drdSQL = null;
        DataSet dsSQL = new DataSet();
        try
        {
            drdSQL = cmdSQL.ExecuteReader();
        }
        catch (Exception excp)
        {
            conSQL.Close();
            this.lblSearchInfo.Text = excp.Message;
            return;
        }
        dsSQL.Load(drdSQL, LoadOption.OverwriteChanges,
            new string[] { "a_tbl" });
        drdSQL.Close();
        conSQL.Close();
        this.gvwCus.DataSource = dsSQL;
        this.gvwCus.DataBind();
    }

Son iki satırda gördüğünüz gibi gvwCus Gridview'umuza dsSQL dataset'ini
dinamik olarak bağlıyoruz.Fakat eğer gridview un paging özelliğini true
olarak set edersek bu birsonraki sayfaya gitmeye kalktığımızda hata
almamıza neden olacaktır.

Bu sorun can sıkıcı olsa da çözümü basittir.İlk olarak DataSet nesnesini
ister class'ın en üstüne private static olarak tanımlayın, isterseniz
ViewState veya Session bazında saklayın, dataset'ın sınıfın her
üyesinden ulaşılabilecek hale getirin.

Bu durumda ben viewstate'i kullanıyorum.
Search'ün son iki satırını aşağıdaki gibi değiştiriyorum.

         ViewState["a_tbl"] = dsSQL;         
        this.gvwCus.DataSource = dsSQL;
       
this
.gvwCus.DataBind();
    }

Ardından Gridview'un PageIndexChanging eventine aşağıdaki kodu yazın.

    protected void gvwCus_PageIndexChanging(object sender,
      GridViewPageEventArgs e)
    {
        gvwCus.PageIndex = e.NewPageIndex;
        this.gvwCus.DataSource = (DataSet)ViewState["a_tbl"];
        gvwCus.DataBind();
    }

Sorununuz bu şekilde çözülmüş olur.


 
Categories: Software