A common mistake made in writing SQL statements is to wrap filtering columns of a WHERE clause inside of a function. SQL server performance is very dependant on SQL's ability to properly use indexes when it retrieves records. The lifeblood of proper query plan creation is using very deterministic filtering logic on indexed columns (Some refer to this as Sargable Where clauses). The biggest...
Thursday, 28 February 2008
Preventing Multiple instances of the same application
As many programmers have come across, sometimes you want to prevent your app being launched more than once. This is a desirable function for many reasons. This can be used when you're app relies on writing or reading from files, and to prevent locking of files and possible corruption, you only want your app to run once. If you're writing something that is going to be only useful in a single instance,...
Tuesday, 26 February 2008
Query Analyzer Tips and Tricks
By Mike Gunderloy If you've worked with Microsoft SQL Server at all, you've run across SQL Query Analyzer. Of course, this tool is essential for running ad hoc queries and executing SQL statements. But have you ever taken the time to really investigate its capabilities?...
Monday, 25 February 2008
To Subreport or Not to Subreport (Crystal Report)
I don't know whether there is a general rule about when to use subreports. Many times you will see people recommend against the use of subreport because they slow reports, and in general, they are right, but there are some cases when using a subreport actually speeds up reports. Some cases when subreports make sense:1-To avoid a geometric increase in records due to joining multiple tables that have...
Thursday, 21 February 2008
INF: Cross-Database Ownership Chaining Behaviour Changes in SQL Server 2000 Service Pack 3
SUMMARYMicrosoft SQL Server Service Pack 3 (SP3) provides a new security enhancement related option for configuring cross-database ownership chaining, Enable cross-database ownership chaining for all databases during setup. This article discusses the cross-database ownership chaining behavior in SQL Server 2000 SP3. With this new option, you can control whether or not you permit cross-database ownership...
Ownership Chains
When multiple database objects access each other sequentially, the sequence is known as a chain. Although such chains do not independently exist, when SQL Server 2005 traverses the links in a chain, SQL Server evaluates permissions on the constituent objects differently than it would if it were accessing...
Tuesday, 19 February 2008
HierarGrid - A hierarchical DataGrid that displays master-detail relations
Problem: The ASP.NET DataGrid is a popular control to display data in a table form with editing, paging and sorting capabilites. However it is only suitable to display single DataTables - there is no support for parent-child relations. Goal: To create a control that provides the standard...
Monday, 18 February 2008
AJAX Basics
When I first posted my first Ajax links on this blog, some of my friends asked me to post more basics of Ajax, so that they can use the link more effectively, so today while surfing web I found very good topic on Ajax Basics originally posted on 4GuysfromRolla.com by Scott Mitchell. I hope this will...
Tuesday, 12 February 2008
.NET source code unveiled
In a surprise announcement within Scott Guthrie’s blog, Microsoft has promised to make the source code of the .NET 3.5 Framework libraries available under the Microsoft Reference Licence – essentially a “look but don’t touch” licence. You won’t be able to make use of the source code in your own applications, but it will mean that you can determine exactly how a class implements a particular feature....
VS 2005 Intellisense in web.config files
I’ve seen a few questions about intellisense support for ASP.NET web.config files with VS 2005, and thought I’d blog a quick post to answer a few of them. First the good news: VS 2005 now supports intellisense for web.config files you add to your web project (yea!). It uses the new XML editor...
Friday, 8 February 2008
Programming with Google Maps API
The Google Maps API lets you embed Google Maps in your own web pages with JavaScript. The API provides a number of utilities for manipulating maps (just like on the http://maps.google.com web page) and adding content to the map through a variety of services, allowing you to create robust maps applications on your website. How do I start? Sign up for a Google Maps API key. Read the Maps API Concepts....
Using LINQ with ASP.NET
One of the new things I’m super excited about right now is the LINQ family of technologies that are starting to come out (LINQ, DLINQ, XLINQ and others soon). LINQ will be fully integrated with the next release of Visual Studio (code-name: Orcas) and it will include some very cool framework and...