<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel xmlns:blog="http://www.dotnetnuke.com/blog/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <title>WebDBApps Blog</title>
    <description>A place to share technical solutions relative to web and database development.</description>
    <link>http://www.webdbapps.net/Blog/tabid/64/BlogId/1/Default.aspx</link>
    <language>en-US</language>
    <webMaster>sid@webdbapps.net</webMaster>
    <pubDate>Mon, 06 Feb 2012 11:05:29 GMT</pubDate>
    <lastBuildDate>Mon, 06 Feb 2012 11:05:29 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 4.1.0.0</generator>
    <item>
      <title>Houston...We Have Lift Off!</title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/24/Houston-We-Have-Lift-Off.aspx</link>
      <description>&lt;p&gt;I had the pleasure to help launch Office365Training.com today.  It's a site, powered by DotNetNuke, focused on training folks new to Office365, Microsoft's hosted Office solution.  The neat thing about the site is that it's been a collaborative effort between the site owner, myself and other developers.  While we still need to spit and polish a few things, the functionality is there.  Looking forward to turning the corner toward offering more robust functionality.&lt;/p&gt;

&lt;p&gt;If you have need of any web design or development services, please leave me a message on our Contact Us page.&lt;p&gt;

Happy Coding!!&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/24/Houston-We-Have-Lift-Off.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/24/Houston-We-Have-Lift-Off.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/24/Houston-We-Have-Lift-Off.aspx</guid>
      <pubDate>Sat, 04 Feb 2012 03:36:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=24</trackback:ping>
    </item>
    <item>
      <title>The Tale of two HTML Slicers</title>
      <link>http://webdbapps.net/Blog/tabid/64/EntryId/23/The-Tale-of-two-HTML-Slicers.aspx</link>
      <description>&lt;p&gt;I had the opportunity to compare and contrast usage of two HTML slicing programs recently.  I started using Adobe Fireworks to slice a single-layer PSD with the inten to create a W3C compliant HTML/CSS layout.  I sliced the PSD into several key components and found the hotspot utility to be helpful in highlighting areas of my images that were to become links to other site pages.  I exported the slices to HTML and CSS but found that my PSD really had some overlapping slices, that were not conducive to CSS layouts.  My sliced HTML file opened in Dreamweaver as a multitude of table tags - did I mention that I am not a Table layout fan?&lt;/p&gt;
&lt;p&gt;That's when I turned my attention to Expression Design and Expression Web 4.  The slicer in Design had a few less features than Fireworks, such as the slice could only be rectangular, whereas Fireworks offered a polygon slice.  Also, the hotspots were defined after slices were exported to Expression Web, instead of being part of the slicing procedure.  The cool thing was that the exported HTML and CSS was exactly what I wanted!  I had a nice set of DIVs, with style tags in the head of the page, that used absolute positioning.  Given that the layout was a bit complex, I was fine with the use of absolute positioning of my DIVs, versus my general practice of relative positioning. &lt;/p&gt;
&lt;p&gt;Both Fireworks and Expression Design do a good job at slicing images.  I found Expression Design a bit more user friendly and Fireworks a bit more complex.  I'll continue to use both, depending on the PSDs that need to be sliced. &lt;/p&gt;
&lt;p&gt;Happy Slicing!!&lt;/p&gt;&lt;br /&gt;&lt;a href=http://webdbapps.net/Blog/tabid/64/EntryId/23/The-Tale-of-two-HTML-Slicers.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://webdbapps.net/Blog/tabid/64/EntryId/23/The-Tale-of-two-HTML-Slicers.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://webdbapps.net/Blog/tabid/64/EntryId/23/The-Tale-of-two-HTML-Slicers.aspx</guid>
      <pubDate>Mon, 06 Jun 2011 16:41:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=23</trackback:ping>
    </item>
    <item>
      <title>Add an ASP.NET Web Service to your next Flash Project to assist in Database Connectivity</title>
      <link>http://webdbapps.net/Blog/tabid/64/EntryId/22/Add-an-ASP-NET-Web-Service-to-your-next-Flash-Project-to-assist-in-Database-Connectivity.aspx</link>
      <description>&lt;p&gt;We've read a lot of articles recently about client side technologies, their shortcomings, their predicted lifetime and when it's suggested to do certain tasks on the server instead of through a client side solution.  I recently wrote an ASP.NET web service for &lt;a target="_blank" href="http://completerentalls.ca"&gt;completerentalls.ca&lt;/a&gt; to enable their Flash CS5 application to obtain query results from their database.  Here are a few things I learned through the process:&lt;/p&gt;
&lt;p&gt;First, since we were using an Access database, it was important to place the .mdb file in the App_Code folder of the ASP.NET web service solution.  In doing so, this took away the guess work of where the database file would be located once deployed to the server. &lt;/p&gt;
&lt;p&gt;Second, I strongly encourage utilizing a query if you're going to be working with an Access database.  It's never a good idea to directly hit your database table with queries, and this situation was no exception. &lt;/p&gt;
&lt;p&gt;Finally, the web service itself need not be complicated.  Since we were executing one query against the database, only one web service method was defined.  Rely on your old friends, dataset, datatable and OLEDBAdapter to setup the web service.  Once it's created, the web service can be called from Actionscript's WebService method.  Ensure that your naming conventions are consistent in your Actionscript file and your web service. &lt;/p&gt;
&lt;p&gt;This is just one of many situations where one can leverage the strengths of client-side technologies like Flash as well as those of server-side technologies like ASP.NET web services. In doing so, you'll utilize the tools you desire and produce an effective and responsive solution. &lt;/p&gt;
&lt;p&gt;Happy Coding!!&lt;/p&gt;&lt;br /&gt;&lt;a href=http://webdbapps.net/Blog/tabid/64/EntryId/22/Add-an-ASP-NET-Web-Service-to-your-next-Flash-Project-to-assist-in-Database-Connectivity.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://webdbapps.net/Blog/tabid/64/EntryId/22/Add-an-ASP-NET-Web-Service-to-your-next-Flash-Project-to-assist-in-Database-Connectivity.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://webdbapps.net/Blog/tabid/64/EntryId/22/Add-an-ASP-NET-Web-Service-to-your-next-Flash-Project-to-assist-in-Database-Connectivity.aspx</guid>
      <pubDate>Mon, 28 Feb 2011 20:06:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=22</trackback:ping>
    </item>
    <item>
      <title>Happy 2011 from WebDBApps!</title>
      <link>http://webdbapps.net/Blog/tabid/64/EntryId/21/Happy-2011-from-WebDBApps.aspx</link>
      <description>&lt;p&gt;The New Year has started with a bang here at WebDBApps.  We've partnered with some awesome clients including VendorsBay, Hotel Management Resources Limited, CompleteRentAlls, DFCharts, Uniform and Tunics and others.  We've also expanded our service offering to include Sharepoint 2010 development.  This version of Sharepoint has some incredible flexibility.  As data-minded folks, we are especially interested in the ability to develop business content sources for Sharepoint 2010 to infuse non-Sharepoint data sources into a given portal. &lt;/p&gt;
&lt;p&gt;Another area of keen focus thus far in 2011 has been in the development of Flash CS5 sites integrated with server-side technologies such as ASP.NET.  We have found that Flash is an awesome user experience development tool.  Coupled with server-side technolgies, we've been able to bring in data from SQL Server data sources into Flash applications for a truly data-rich Flash application.&lt;/p&gt;
&lt;p&gt;We hope your 2011 has started on the right foot.  Please contact us to discuss any projects you are looking to start soon.  We are here to match up the approrpirate technology and user experience for your business use case. &lt;/p&gt;&lt;br /&gt;&lt;a href=http://webdbapps.net/Blog/tabid/64/EntryId/21/Happy-2011-from-WebDBApps.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://webdbapps.net/Blog/tabid/64/EntryId/21/Happy-2011-from-WebDBApps.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://webdbapps.net/Blog/tabid/64/EntryId/21/Happy-2011-from-WebDBApps.aspx</guid>
      <pubDate>Fri, 21 Jan 2011 21:32:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=21</trackback:ping>
    </item>
    <item>
      <title>The Decision Point:  When to Rebuild vs. When to Modify? Plus New Lead Creation in SalesForce using Twilio Call History</title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/20/The-Decision-Point-When-to-Rebuild-vs-When-to-Modify-Plus-New-Lead-Creation-in-SalesForce-using-Twilio-Call-History.aspx</link>
      <description>&lt;p&gt;Since Christmas is coming in just a few days, I wanted to share with you not one, but two, musings on current development tasks.  The first part deals with the decision process to continue modifying an existing website vs. rebuilding it from the ground up.  The second part deals with a new technology stack we're using Twilio (Voice/SMS communications in the Cloud) combined with SalesForce.&lt;/p&gt;
&lt;p&gt;In my line of work, it seems like web application revisions are easiest if I'm inheriting a well-documented, understandable app wherein I can easily determine which classes produce what functionality.  When one cannot ascertain how the inner workings of a web application is developed, it is almost impossible to make any changes to the site.  I am a firm believer of providing customers with documentation of how I designed their application.  They may choose to wallpaper their bathroom with it :) or they can file it and pass along to the next developer they hire (if it's not me).  Either way, the customer knows how their application has been developed (from a high level perspective).  When it's time to make changes, the documentation can be referenced to ensure the changes needed won't interfere with other application functions.  So, when documentation is absent, and one cannot determine how the previous developer created the application, my advice is to take ownership of the project, rebuild the application and ensure that your customer knows how the rebuilt application is developed.  This will likely also help boost future referrals as the client will be more inclined to come back to the developer who rebuilt the solution vs. trying to find someone else to make revisions and changes.  Bottom line here is that time is better spent satifying the customer needs vs. trying to determine how a previous developer configured a highly-convoluted application.&lt;/p&gt;
&lt;p&gt;Twilio + Salesforce:  This has been a really cool, and challenging project.  It's goal is to create new leads in Salesforce from Twilo call history.  Twilio is a Voice/SMS service in the Cloud.  Developers can sign up for a free sandbox phone number for testing purposes.  Coming from a .Net and PHP/MySQL background, I've found the APEX platform to be a mix between writing Transact SQL blended with PHP and C#.  Stay tuned for the final solution to this ongoing work in progress!&lt;/p&gt;
&lt;p&gt;Finally, I want to wish all my clients, colleagues, friends, and family a blessed and Merry Christmas.  May you all take time this holiday to make memories with your loved ones.  I know I'll be making a few of my own with our son over the holiday break! &lt;/p&gt;
&lt;p&gt;God Bless,&lt;/p&gt;
&lt;p&gt;Sid&lt;/p&gt;&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/20/The-Decision-Point-When-to-Rebuild-vs-When-to-Modify-Plus-New-Lead-Creation-in-SalesForce-using-Twilio-Call-History.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/20/The-Decision-Point-When-to-Rebuild-vs-When-to-Modify-Plus-New-Lead-Creation-in-SalesForce-using-Twilio-Call-History.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/20/The-Decision-Point-When-to-Rebuild-vs-When-to-Modify-Plus-New-Lead-Creation-in-SalesForce-using-Twilio-Call-History.aspx</guid>
      <pubDate>Mon, 20 Dec 2010 17:22:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=20</trackback:ping>
    </item>
    <item>
      <title>Using .Net Reflector to Decompile Classes </title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/19/Using-Net-Reflector-to-Decompile-Classes.aspx</link>
      <description>&lt;p&gt;I've been using .Net Reflector casually for a few years and just recently have been engaged on a project that requires decompilation of client's DLLs secondary to absence of original source code.  Reflector along with the Decompiler add in has been my friend in this engagement.  It defines all the properties and methods in a given class and permits copy functionality so that one can take the decompiled code and add it into their current Solution/Project files.  So far, I've found Reflector to be helpful in about 90% of the classes I've decompiled.  The remaining 10% of the classes have to be hand-coded or edited so that errors are resolved.  This is a tedious process as it requires review of the class within the DLL, review of the decompiled code, and further review after the code is copied from Reflector into your new class file.  Some nuances between .Net 3.5 and .Net 4.0 come into play here as well.  However, when the source code is not available and the site needs to be modified/updated, Reflector is your best friend!&lt;/p&gt;
&lt;p&gt;I want to wish all of my readers a Happy Thanksgiving!  I am very blessed and thankful for the opportunity to provide web and database development services to my clients and am thankful for them and for their business.  Stay tuned for upcoming blog posts on design topics such as using Fireworks to create mockups, WPF4 / Silverlight 4 plus MVVM and Flash/Actionscript development.&lt;/p&gt;
&lt;p&gt;Happy Coding!&lt;/p&gt;&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/19/Using-Net-Reflector-to-Decompile-Classes.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/19/Using-Net-Reflector-to-Decompile-Classes.aspx#Comments</comments>
      <slash:comments>3</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/19/Using-Net-Reflector-to-Decompile-Classes.aspx</guid>
      <pubDate>Wed, 24 Nov 2010 16:53:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=19</trackback:ping>
    </item>
    <item>
      <title>Additional Service Offerings - Adding Web Design to our Repertoire!</title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/18/Additional-Service-Offerings-Adding-Web-Design-to-our-Repertoire.aspx</link>
      <description>&lt;p&gt;I'm excited to announce a new service offering that adds to the web development lifecycle.  Since starting WebDBApps 4 years ago, I've focused solely on web and database programming services and have outsourced or partnered with designers who have provided mock ups, graphic design elements like logos, or Flash animation.  I've recently acquired the Adobe Creative Suite and am now ready to provide graphic design services to my clients.  This addition to my repertoire will ensure that current and future clients have a "one stop shop" for their website needs whether it be graphic design, database development or web application programming.  I look forward to serving you in this capacity and invite you to contact me here should you have any current or future needs for Flash projects, graphic design elements etc.  Future clients can look forward to full-fledged mockups as part of their engagement as well!&lt;/p&gt;
&lt;p&gt;I also want to wish everyone a very Happy Thanksgiving!  There are so many things for which we should be thankful.  I personally am thankful for you, my readers, as well as my valued clients past and present.&lt;/p&gt;&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/18/Additional-Service-Offerings-Adding-Web-Design-to-our-Repertoire.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/18/Additional-Service-Offerings-Adding-Web-Design-to-our-Repertoire.aspx#Comments</comments>
      <slash:comments>2</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/18/Additional-Service-Offerings-Adding-Web-Design-to-our-Repertoire.aspx</guid>
      <pubDate>Tue, 16 Nov 2010 18:46:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=18</trackback:ping>
    </item>
    <item>
      <title>Brownfield Applications - The Ugly, Uglier and Ugliest </title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/17/Brownfield-Applications-The-Ugly-Uglier-and-Ugliest.aspx</link>
      <description>&lt;p&gt;One of our current projects requires clean up of an ASP.NET application that has changed hands from one developer to another, has deviated from original scope and needs some tender love and care.  Brownfield application (re)development is challenging and time consuming.  Some things to consider when working on a Brownfield project are:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Never take any of the application code for granted.  The general rule of thumb is that if you'd didn't write the code, don't trust it!  Thus, an extensive review of the entire codebase is needed to understand what was attempted by previous developers, compared to the scope and goals set forth by the customer.&lt;/li&gt;
    &lt;li&gt;Plan to spend a lot of time on Brownfield projects.  Since you're not starting from scratch, there's a lot of undoing/rewriting involved to produce a clean codebase. &lt;/li&gt;
    &lt;li&gt;Demonstrate small but measured successes to your customer.  Many customers are not technicians like ourselves.  These folks can't relate to the time we spend on rewriting classes, functions and methods.  However, they can appreciate when a specific function works correctly or application flow improves.  I suggest tempering your work time between the "under the hood" intangible changes and very tangible and visible improvements by which the customer can see improvement.&lt;/li&gt;
    &lt;li&gt;Set short-term goals.  Plan to take on small chunks of cleanup work at a time.  Not only does this help your morale as a developer, but your customer will feel better when they see improvements in the application.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope the above advice helps you in evaluating your development efforts on Brownfield projects.  We welcome comments on your past Brownfield project successes.&lt;/p&gt;
&lt;p&gt;Happy Coding!&lt;/p&gt;&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/17/Brownfield-Applications-The-Ugly-Uglier-and-Ugliest.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/17/Brownfield-Applications-The-Ugly-Uglier-and-Ugliest.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/17/Brownfield-Applications-The-Ugly-Uglier-and-Ugliest.aspx</guid>
      <pubDate>Wed, 27 Oct 2010 16:10:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=17</trackback:ping>
    </item>
    <item>
      <title>Silverlight 4 Business Application Development from an ASP.NET Perspective</title>
      <link>http://www.webdbapps.net/Blog/tabid/64/EntryId/16/Silverlight-4-Business-Application-Development-from-an-ASP-NET-Perspective.aspx</link>
      <description>&lt;p&gt;Silverlight 4, in my opinion, has matured to the point that it is ready for serious commercial-grade web applications.  The ability to create visually appealing user experiences coupled with all the goodness of .NET 4.0 is merged together now with the business world in Silverlight 4.  Development of my first Silverlight business application has been, at times, frustrating and, at other times, rewarding.  Coming from an ASP.NET background, I tend to look for things like master pages to streamline layout, and I still catch myself adding HTML tags to XAML and getting the red squiggly warnings. &lt;/p&gt;
&lt;p&gt;Here are a few things I've discovered thus far in my development process:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;MainPage.xaml , for those of us coming from ASP.NET, equals master page!  That's right, this is the place to create your master layout.  In doing so, you can ensure that all the pages in your Silverlight application have the same look and feel.&lt;/li&gt;
    &lt;li&gt;Use the Silverlight 4 Toolkit Especially Themes.  I chose BureauBlue for my first application as I'm prototyping an ASP.NET site that has the same branding colors as BureauBlue.  To ensure your style is applied to all pages, include it in the UserControl tag on MainPage.xaml.  Thereafter, all controls added to the page will acquire the Theme you've defined.&lt;/li&gt;
    &lt;li&gt;I advise using the Panel controls for layout purposes in Silverlight projects.  You can set the properties of the panels to meet your layout specifications, but also ensure that if the user decides to resize the application's window, they layout resizes in a friendly manner.  Conversely, if the Canvas control is used for layout, any controls placed inside the Canvas will have absolute positioning.  StackPanel and DockPanel are your friends!&lt;/li&gt;
    &lt;li&gt;If you expect to use a database, need user authentication, or any data-centric functionality, choose the Silvelright Business Application template as  Visual Studio 2010 adds all the bits you need to the solution.&lt;/li&gt;
    &lt;li&gt;If you've been an ASP.NET MVC developer like I have, you'll note that your Silverlight business application has similar structures and the Model View Viewmodel technique may be helpful.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As you can see, I'm just getting my feet wet with Silverlight and the business application template.  Don't forget to spend some time at Silverlight TV and the Silverlight.net Forums.&lt;/p&gt;
&lt;p&gt;Please leave comments with your early Silverlight development "Gotchas" and Successes.  We can all learn from each other:)&lt;/p&gt;&lt;br /&gt;&lt;a href=http://www.webdbapps.net/Blog/tabid/64/EntryId/16/Silverlight-4-Business-Application-Development-from-an-ASP-NET-Perspective.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://www.webdbapps.net/Blog/tabid/64/EntryId/16/Silverlight-4-Business-Application-Development-from-an-ASP-NET-Perspective.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://www.webdbapps.net/Blog/tabid/64/EntryId/16/Silverlight-4-Business-Application-Development-from-an-ASP-NET-Perspective.aspx</guid>
      <pubDate>Mon, 11 Oct 2010 22:31:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=16</trackback:ping>
    </item>
    <item>
      <title>Apply Filters or Sorts in a Stored Procedure vs. in the Business Logic Layer</title>
      <link>http://webdbapps.net/Blog/tabid/64/EntryId/15/Apply-Filters-or-Sorts-in-a-Stored-Procedure-vs-in-the-Business-Logic-Layer.aspx</link>
      <description>&lt;p&gt;A question came across &lt;a href="http://stackoverflow.com/questions/3753937/which-is-better-filtering-results-at-db-or-application/3753987#3753987"&gt;StackOverflow&lt;/a&gt; yesterday asking whether it was better to perform sorting or filtering within a stored procedure or in the business logic layer of an application.  This highly depends on the application and your needs.  The general approach I use, and is based on advice given by those with a few more gray hairs than I have, indicates that filtering and sorting should be placed within the stored procedure logic. &lt;/p&gt;
&lt;p&gt;The reason for placing this functionality within the stored procedure is due to the fact that SQL Server's database engine can better handle the load of performing these tasks than a web server (which is possibly hosting multiple sites with numerous users).  Obviously, this practice doesn't fit for all cases such as those in which you need to allow the end user to do their own sorts or perform their own filtering.  Providing end users with this functionality should be an exception, and not a rule. &lt;/p&gt;
&lt;p&gt;Stored procedures are a necessity in protecting your data from malicious users.  We've seen many examples on the web where a SQLDataSource contains a TSQL SELECT or UPDATE statement.  These are great to review as learning concepts, but I do not feel that issuing TSQL from a web application is a secure practice.  Instead, use of a stored procedure insulates, to some point, the data access layer from attack risks. &lt;/p&gt;
&lt;p&gt;A question for my readers now:  When developing a SQL Server Reporting Services report object, do you use a TSQL statement for your data source, or do you use a stored procedure or view?&lt;/p&gt;
&lt;p&gt;Happy Coding!!&lt;/p&gt;&lt;br /&gt;&lt;a href=http://webdbapps.net/Blog/tabid/64/EntryId/15/Apply-Filters-or-Sorts-in-a-Stored-Procedure-vs-in-the-Business-Logic-Layer.aspx&gt;More ...&lt;/a&gt;</description>
      <author>sid@webdbapps.net</author>
      <comments>http://webdbapps.net/Blog/tabid/64/EntryId/15/Apply-Filters-or-Sorts-in-a-Stored-Procedure-vs-in-the-Business-Logic-Layer.aspx#Comments</comments>
      <slash:comments>0</slash:comments>
      <guid isPermaLink="true">http://webdbapps.net/Blog/tabid/64/EntryId/15/Apply-Filters-or-Sorts-in-a-Stored-Procedure-vs-in-the-Business-Logic-Layer.aspx</guid>
      <pubDate>Tue, 21 Sep 2010 19:22:00 GMT</pubDate>
      <trackback:ping>http://www.webdbapps.netDesktopModules/BlogTrackback.aspx?id=15</trackback:ping>
    </item>
  </channel>
</rss>
