<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-369255965162023043</id><updated>2012-02-16T04:30:16.264-08:00</updated><category term='nth Max'/><category term='Stored procedure'/><category term='Nth max sal'/><category term='Sorting'/><category term='SQL SERVER 2005'/><category term='Assembly'/><category term='Collections'/><category term='View'/><category term='Trigger'/><category term='udf'/><category term='Sorts'/><category term='sql server 2005 installation'/><category term='Delete vs Truncate in SQL server'/><category term='asp.net'/><category term='.net'/><category term='Triggers'/><category term='Delete'/><category term='Interview Questions'/><category term='MARS'/><category term='Generics'/><category term='sql server'/><category term='Moss Installation'/><category term='Truncate'/><title type='text'>Dot Guru</title><subtitle type='html'>It&amp;#39;s all about MS.NET technology which will addresses common conflicting scenarios to live client application solutions and day to day updates from MS.NET.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-3646521730349737480</id><published>2010-04-04T10:42:00.000-07:00</published><updated>2010-04-04T10:52:13.450-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><title type='text'>Interview Questions</title><content type='html'>&lt;p&gt;&lt;strong&gt;MS.NET: &lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Oops A to Z &lt;/li&gt;&amp;#149;&amp;nbsp; How to implement two interfaces when they have a method with the same signature? &amp;#149;&amp;nbsp; Explain the scenario where you will use Abstract class, Interface? And explain the differences?&lt;li&gt;Differences between stored proc and a function &lt;/li&gt;&lt;li&gt;Is sqlconnection managed or unmanaged code? Explain the reasons? &lt;/li&gt;&lt;li&gt;Explain about Garbage collection? How will you call explicitly garbage collection? &lt;/li&gt;&lt;li&gt;How will you handle unmanaged code with the help of Garbage collection? &lt;/li&gt;&lt;li&gt;What namespaces are used in ADO.NET &lt;/li&gt;&lt;li&gt;What is the difference between delete() and remove() methods of Datagrid row? &lt;/li&gt;&lt;li&gt;How to use unmanaged code in a .net application? &lt;/li&gt;&lt;li&gt;Explain about design patterns? &lt;/li&gt;&lt;li&gt;What are application blocks? &lt;/li&gt;&lt;li&gt;Difference between [Proctected Internal] and Internal? &lt;/li&gt;&lt;li&gt;Difference between data reader and dataset? &lt;/li&gt;&lt;li&gt;Optimization techniques &lt;/li&gt;&amp;#149;&amp;nbsp; Application level  &amp;#149;&amp;nbsp; Database level  &amp;#149;&amp;nbsp; how to find out the performance bottlenecks in deployed application and what are their solutions?&lt;li&gt;What are collections and generic collections? &lt;/li&gt;&amp;#149;&amp;nbsp; Difference between Arraylist and List? &amp;#149;&amp;nbsp; What is Hybrid dictionary?&lt;li&gt;Explain Asp.net Page life cycle? &lt;/li&gt;&lt;li&gt;What are Assemblies? How to create and implement a Shared Assembly in a application? &lt;/li&gt;&lt;li&gt;What is difference between user control and custom control? &lt;/li&gt;&lt;li&gt;Difference between Server.transfer and Response.redirect? &lt;/li&gt;&lt;li&gt;What are events and delegates?&lt;/li&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Sql Server: &lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Explain about Indexes? &lt;/li&gt;&lt;li&gt;How to design a database for a given application? &lt;/li&gt;&lt;li&gt;Difference between Truncate and Delete? &lt;/li&gt;&lt;li&gt;Write a query to delete duplicate rows in a table? &lt;/li&gt;&lt;li&gt;Find nth max salary of an employee? &lt;/li&gt;&lt;li&gt;What are triggers? What are new features added in 2.0? &lt;/li&gt;&lt;li&gt;Differences between 2000 and 2005 &lt;/li&gt;&lt;li&gt;Explain about Joins? &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Will be updated soon! If you have any thing to add please comment below or mail to rknuthakki@gmail.com :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-3646521730349737480?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/3646521730349737480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/04/interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/3646521730349737480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/3646521730349737480'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/04/interview-questions.html' title='Interview Questions'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-6550332210076545730</id><published>2010-03-03T19:36:00.000-08:00</published><updated>2010-03-03T19:37:20.126-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stored procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='View'/><category scheme='http://www.blogger.com/atom/ns#' term='udf'/><title type='text'>SP, UDF and VIEW</title><content type='html'>SPs are Databse subroutine used to perform tasks within the database, whether it be to INSERT, UPDATE, DELETE, SELECT, send return values, send output parameters, send e-mail, call command line arguments, encapsulate business logic, enforce data integrity, or any combination thereof.&lt;br /&gt;They are compiled when first run, and the query plans are stored and cached by SQL Server's optimizer, and those cached plans are swapped out depending on frequency of usage. &lt;br /&gt;&lt;br /&gt;View:&lt;br /&gt;• To hide the complexity of the underlying database schema, or customize the data and schema for a set of users. &lt;br /&gt;• To control access to rows and columns of data. &lt;br /&gt;• To aggregate data for performance.&lt;br /&gt;&lt;br /&gt;UDFS:&lt;br /&gt;Set of statements which must return an object considered as function.&lt;br /&gt;In general, UDFs can be a serious source of performance issues. Also, UDFs cannot be used for DML operations (INSERT/UPDATE/DELETE), cannot use non-deterministic functions, cannot use dynamic SQL, and cannot have error-handling (e.g. RAISERROR). &lt;br /&gt;These are of 3 types;&lt;br /&gt;1. Scalar: returns a single value, meant for doing calculations&lt;br /&gt;2. Inline table valued: Returns a table, can be used in joins or in place of result set&lt;br /&gt;3. Multi statement table valued: Returns a defined table.&lt;br /&gt;&lt;br /&gt;A simple glance on all of the above:&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p align="center"&gt;&lt;strong&gt;SP &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p align="center"&gt;&lt;strong&gt;UDF &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p align="center"&gt;&lt;strong&gt;VIEW &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Query plan is saved in server optimizer &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Query plan is saved only for inline table functions &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;No plan is saved but definition of the view is saved with an exception of indexed view &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;DML operations can be performed &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;DML operations are not possible &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;DML operations are possible with considering certain constraints &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can use REUTURN keyword, and can return a numeric value, a string which must be a numeric. &lt;/p&gt;&lt;p&gt;Eg: return ‘123' &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can return a single object of any kind &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can't return a value &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can use Non-deterministic functions like, getdate() &lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can't use Non-Deterministic functions. &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;We can use &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Error handling can be implemented &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Error handling is not implemented &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;N/A &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Supports Dynamic code &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;Doesn't supports dynamic Code &lt;/p&gt;&lt;/td&gt;     &lt;td width="245" valign="top"&gt;&lt;p&gt;N/A &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-6550332210076545730?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/6550332210076545730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/03/sp-udf-and-view.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/6550332210076545730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/6550332210076545730'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/03/sp-udf-and-view.html' title='SP, UDF and VIEW'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7251880320429028623</id><published>2010-02-20T23:15:00.000-08:00</published><updated>2010-02-20T23:15:25.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Collections'/><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><title type='text'>Collections and Generics: .net 2.0</title><content type='html'>Name Space: System.Collections.Generic&lt;br /&gt;When we look at the term "generic", unrelated to the programming world, it simply means something that is not tied to any sort of brand name. For example, if we purchase some generic dish soap, soap that has no brand name on it, we know that we are buying dish soap and expect it to help us clean our dishes, but we really don't know what exact brand (if any) will be inside the bottle itself. We can treat it as dish soap even though we don't really have any idea of its exact contents.&lt;br /&gt;&lt;br /&gt;Think of Generics in this manner. We can refer to a class, where we don't force it to be related to any specific Type, but we can still perform work with it in a Type-Safe manner. A perfect example of where we would need Generics is in dealing with collections of items (integers, strings, Orders etc.). We can create a generic collection than can handle any Type in a generic and Type-Safe manner. For example, we can have a single array class that we can use to store a list of Users or even a list of Products, and when we actually use it, we will be able to access the items in the collection directly as a list of Users or Products, and not as objects (with boxing/unboxing, casting).&lt;br /&gt;&lt;br /&gt;"Generic" Collections as we see them today&lt;br /&gt;&lt;br /&gt;Currently, if we want to handle our Types in a generic manner, we always need to cast them to a System.Object, and we lose any benefit of a rich-typed development experience. For example, I'm sure most of us are familiar with the System.Collection.ArrayList class in Framework v1 and v1.1. If you have used it at all, you will notice a few things about it:&lt;br /&gt;&lt;br /&gt;1. It requires that you store everything in it as an object&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public virtual int Add(object value);&lt;br /&gt;public virtual object this[int index] {get; set;}&lt;br /&gt;&lt;br /&gt;2. You need to cast up in order to get your object back to its actual Type&lt;br /&gt;&lt;br /&gt;3. Performance is really lacking, especially when iterating with foreach()&lt;br /&gt;&lt;br /&gt;4. It performs no type safety for you (no exceptions are thrown even if you add objects of different types to a single list)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.Collections.ArrayList list = new System.Collections.ArrayList();&lt;br /&gt;&lt;br /&gt;list.Add("a string");&lt;br /&gt;list.Add(45); //no exception thrown&lt;br /&gt;list.Add(new System.Collections.ArrayList()); //no exception&lt;br /&gt;&lt;br /&gt;foreach(string s in list) { //exception will be thrown!&lt;br /&gt;System.Console.WriteLine(s);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;For some situations we may feel the need to implement IEnumerable and IEnumerator in order to create a custom collection of our given Type, that is, a Type-safe collection for our needs. If you had a User object, you could create another class (which implements IEnumerable and IEnumerator, or just IList) that allows you to only add and access User objects, even though most implementations will still store them as objects. It is a lot of work implementing these two interfaces, and you can imagine the work needed to create this additional collection class every time you wanted a Type-safe collection.&lt;br /&gt;&lt;br /&gt;The third and final way of creating a collection of items is by simply creating an array of that type, for example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;string[] mystrings = new string[]{"a", "b", "c"};&lt;br /&gt;&lt;br /&gt;This will guarantee Type safety, but is not very reusable nor very friendly to work with. Adding a new item to this collection would mean needing to create a temporary array and copy the elements into this new temporary array, resizing the old array, copying the data back into it, and then adding the new item to the end of that collection. In my humble opinion, this is too much work that tends to be very error prone.&lt;br /&gt;&lt;br /&gt;What we need is a way to create a Type-safe collection of items that we can use for any type imaginable. This template, or generic class, should be able to perform all of the existing duties that we need for our collections: adding, removing, inserting, etc. The ideal situation is for us to be able to create this generic collection functionality once and never have to do it again. You must also consider other types of collections that we commonly work with and their functionality, such as a Stack (First in, Last out) or a Queue (First In, First out), etc. It would be nice to be able to create different types of generic collections that behave in standard ways.&lt;br /&gt;&lt;br /&gt;In the next I will show you how to create your first Generic Type.&lt;br /&gt;&lt;br /&gt;Creating Our First Generic Type&lt;br /&gt;&lt;br /&gt;In this section we will create a very simple generic class and demonstrate how it can be used as a container for a variety of other Types. Below is a simple example of what a generic class could look like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class Col &amp;lt; t &amp;gt;  {&lt;br /&gt;T t;&lt;br /&gt;public T Val{get{return t;}set{t=value;}}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;There are a few things to notice. The class name "Col&amp;lt;t &amp;gt; " is our first indication that this Type is generic, specifically the brackets containing the Type placeholder. This Type placeholder "T" is used to show that if we need to refer to the actual Type that is going to be used when we write this class, we will represent it as "T". Notice on the next line the variable declaration "T t;" creates a member variable with the type of T, or the generic Type which we will specify later during construction of the class (it will actually get inserted by the Common Language Runtime (CLR) automatically for us). The final item in the class is the public property. Again, notice that we are using the Type placeholder "T" to represent that generic type for the type of that property. Also notice that we can freely use the private variable "t" within the class.&lt;br /&gt;&lt;br /&gt;In order to use this class to hold any Type, we simply need to create a new instance of our new Type, providing the name of the Type within the "&amp;lt; &amp;gt; " brackets and then use that class in a Type-safe manner. For example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class ColMain {&lt;br /&gt;public static void Main() {&lt;br /&gt;//create a string version of our generic class&lt;br /&gt;Col&amp;lt;string &amp;gt;  mystring = new Col&amp;lt;string &amp;gt; ();&lt;br /&gt;//set the value&lt;br /&gt;mystring.Val = "hello";&lt;br /&gt;&lt;br /&gt;//output that value&lt;br /&gt;System.Console.WriteLine(mystring.Val);&lt;br /&gt;//output the value's type&lt;br /&gt;System.Console.WriteLine(mystring.Val.GetType());&lt;br /&gt;&lt;br /&gt;//create another instance of our generic class, using a different type&lt;br /&gt;Col&amp;lt;int &amp;gt;  myint  = new Col&amp;lt;int &amp;gt; ();&lt;br /&gt;//load the value&lt;br /&gt;myint.Val = 5;&lt;br /&gt;//output the value&lt;br /&gt;System.Console.WriteLine(myint.Val);&lt;br /&gt;//output the value's type&lt;br /&gt;System.Console.WriteLine(myint.Val.GetType());&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;When we compile the two classes above and then run them, we will see the following output:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hello&lt;br /&gt;System.String&lt;br /&gt;5&lt;br /&gt;System.Int32&lt;br /&gt;&lt;br /&gt;Even though we used the same class to actually hold our string and int, it keeps their original type intact. That is, we are not going to and from a System.Object type just to hold them.&lt;br /&gt;&lt;br /&gt;Generic Collections&lt;br /&gt;&lt;br /&gt;The .NET team has provided us with a number of generic collections to work with in the the latest version of the .NET Framework. List, Stack, and Queue are all going to be implemented for us. Let's see an example on how to use the provided Generic List class.&lt;br /&gt;&lt;br /&gt;For this example we want to be able to hold a collection of a Type that we create, which we used to represent a User in our system. Here is the definition for that class:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace Rob {&lt;br /&gt;public class User {&lt;br /&gt;protected string name;&lt;br /&gt;protected int age;&lt;br /&gt;public string Name{get{return name;}set{name=value;}}&lt;br /&gt;public int Age{get{return age;}set{age=value;}}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now that we have our User defined, let's create an instance of the .NET Framework Generic version of a simple List:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.Collections.Generic.List&amp;lt;Rob.User &amp;gt;  users &lt;br /&gt;= new System.Collections.Generic.List&amp;lt;Rob.User &amp;gt; ();&lt;br /&gt;&lt;br /&gt;Notice the new "Generic" namespace within the System.Collections namespace. This is where we will find all the new classes for our use. The "List" class within that namespace is synonymous with the typical System.Collections.ArrayList class, which I'm sure most of us are very familiar with by now. Please note that although they are similar there are several important differences.&lt;br /&gt;&lt;br /&gt;So now that we have a Type-safe list of our User class, let's see how we can use this class. What we will do is simply loop 5 times and create a new User and add that User to our users collection above:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for(int x=0;x&amp;lt;5;x++) {&lt;br /&gt;Rob.User user = new Rob.User();&lt;br /&gt;user.Name="Rob" + x;&lt;br /&gt;user.Age=x;&lt;br /&gt;users.Add(user);&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;This should seem straight forward to you by now. In the next step we will iterate over that same collection and output each item to the console:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;foreach(Rob.User user in users) {&lt;br /&gt;System.Console.WriteLine(&lt;br /&gt;System.String.Format("{0}:{1}", user.Name, user.Age)&lt;br /&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is slightly different that what we are used to. What you should notice right off the bat is that we do not have to worry about the Type being "Rob.User". This is because our generic collection is working in a Type-safe manner; it will always be what we expect.&lt;br /&gt;&lt;br /&gt;Another way to output the same list would be to use a simple for() loop instead, and in this case we do not have to cast the object out of the collection in order to use it properly:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for(int x=0;x&amp;lt;users.Count;x++) {&lt;br /&gt;System.Console.WriteLine(&lt;br /&gt;System.String.Format("{0}:{1}", users[x].Name, users[x].Age)&lt;br /&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;No more silly casting or boxing involved. Here is the complete listing of the source plus the output of the result of executing the console application:&lt;br /&gt;&lt;br /&gt;User.cs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;namespace Rob {&lt;br /&gt;public class User {&lt;br /&gt;protected string name;&lt;br /&gt;protected int age;&lt;br /&gt;public string Name{get{return name;}set{name=value;}}&lt;br /&gt;public int Age{get{return age;}set{age=value;}}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Main.cs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class M {&lt;br /&gt;public static void Main(string[] args) {&lt;br /&gt;System.Collections.Generic.List&amp;lt;Rob.User &amp;gt;  users = new System.Collections.Generic.List&amp;lt;Rob.User &amp;gt; ();&lt;br /&gt;for(int x=0;x&amp;lt;5;x++) {&lt;br /&gt;Rob.User user = new Rob.User();&lt;br /&gt;user.Name="Rob" + x;&lt;br /&gt;user.Age=x;&lt;br /&gt;users.Add(user);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach(Rob.User user in users) {&lt;br /&gt;System.Console.WriteLine(System.String.Format("{0}:{1}", user.Name, user.Age));&lt;br /&gt;}&lt;br /&gt;System.Console.WriteLine("press enter");&lt;br /&gt;System.Console.ReadLine();&lt;br /&gt;&lt;br /&gt;for(int x=0;x&amp;lt;users.Count;x++) {&lt;br /&gt;System.Console.WriteLine(System.String.Format("{0}:{1}", users[x].Name, users[x].Age));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Output&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rob0:0&lt;br /&gt;Rob1:1&lt;br /&gt;Rob2:2&lt;br /&gt;Rob3:3&lt;br /&gt;Rob4:4&lt;br /&gt;press enter&lt;br /&gt;&lt;br /&gt;Rob0:0&lt;br /&gt;Rob1:1&lt;br /&gt;Rob2:2&lt;br /&gt;Rob3:3&lt;br /&gt;Rob4:4&lt;br /&gt;&lt;br /&gt;More on Generics&lt;br /&gt;&lt;br /&gt;More Generics features in the latest release of the .NET Framework include Generic Methods and Constraints. A generic method is very straight forward. Consider this example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static T[] CreateArray&amp;lt;t &amp;gt; (int size) {&lt;br /&gt;return new T[size];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This static method simply creates a method of the given Type "T" and of the given "size" and returns it to the caller. An example of calling this method would be:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;string[] myString = CreateArray&amp;lt;string &amp;gt; (5);&lt;br /&gt;&lt;br /&gt;This will new up an instance of our string array, with an initial size of 5. You should take time to investigate the new version of the framework. You will be surprised at all the little helpful features like this.&lt;br /&gt;&lt;br /&gt;Lastly, we should take a quick look at constraints. A constraint is setup to limit the Types which the Generic can accept. Let's say for example we had a generic type:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class Dictionary&amp;lt;K, V &amp;gt;  where K : IComparable {}&lt;br /&gt;&lt;br /&gt;Notice the "where" clause on this class definition. It is forcing the K Type to be of Type IComparable. If K does NOT implement IComparable, you will get a Compiler error. Another type of constraint is a constructor constraint:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class Something&amp;lt; v &amp;gt;  where V: new() {}&lt;br /&gt;&lt;br /&gt;In this example V must have at least the default constructor available, if not the Compiler will throw an error. &lt;br /&gt;&lt;br /&gt;Ref:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7251880320429028623?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7251880320429028623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/02/collections-and-generics-net-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7251880320429028623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7251880320429028623'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/02/collections-and-generics-net-20.html' title='Collections and Generics: .net 2.0'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-982834506934148823</id><published>2010-02-20T23:10:00.001-08:00</published><updated>2010-02-20T23:10:40.449-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='MARS'/><title type='text'>MARS - Multiple Active Result Sets</title><content type='html'>&lt;b&gt;Multiple Active Result Sets - MARS &lt;/B&gt;&lt;br /&gt;In a nutshell, it is the ability to have more than one pending request under a given SQL Server connection. For most cases this will directly translate to the ability to have more than one default result set (firehose cursor) outstanding while other operations can execute within the same session.&lt;br /&gt;&lt;br /&gt;It is probably as important to delimit what MARS is not: &lt;br /&gt;&lt;br /&gt;Parallel execution: Though MARS enables more than one request to be submitted under the same connection, this does not imply that they will be executed in parallel inside the server. MARS will multiplex execution threads between outstanding requests in the connection, interleaving at well defined points. &lt;br /&gt;Cursor replacement: As described earlier, there are some scenarios where cursors represented a suitable workaround for a lack of MARS; it may be valid to migrate those scenarios to use MARS. However, this does not imply that all current usages of cursors should be moved to MARS. &lt;br /&gt;By default, all of the code snippets included in the previous section "just work" when using MARS-enabled client drivers against a SQL Server 2005 server. Also, the deadlock scenario described below where the application would hang now succeeds under MARS-enabled connection.&lt;br /&gt;&lt;br /&gt;MARS-enabled client drivers are the following: &lt;br /&gt;&lt;br /&gt;The SQLODBC driver included in the SQL Native Client. &lt;br /&gt;The SQLOLEDB driver included in the SQL Native Client. &lt;br /&gt;The SqlClient .NET Data Provider included in the Microsoft .NET Framework, Version 2.0. &lt;br /&gt;By default, these drivers will establish MARS-enabled connections. If for some reason it is desired to establish connections that expose behavior of down-level drivers, each API provides an option to request non-MARS connections.&lt;br /&gt;&lt;br /&gt;SqlClient provides the MultipleActiveResultSets connection string option. If set to false, MARS is not enabled for the session. If set to true or omitted, MARS is enabled.&lt;br /&gt;&lt;br /&gt;Similarly, ODBC provides a SQL_COPT_SS_MARS_ENABLED connection option, while OLEDB provides a SSPROP_INIT_MARSCONNECTION option. Again, these options may only be needed to disable MARS, since it is enabled by default.&lt;br /&gt;&lt;br /&gt;Note   MARS is only available with SQL Native Client versions of ODBC and OLEDB providers. Older versions of the providers have not been enhanced to support MARS. Needless to say, new drivers cannot support MARS when connected to SQL Server 2000 or earlier servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-982834506934148823?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/982834506934148823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/02/mars-multiple-active-result-sets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/982834506934148823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/982834506934148823'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/02/mars-multiple-active-result-sets.html' title='MARS - Multiple Active Result Sets'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-8621859694107733089</id><published>2010-01-24T08:42:00.000-08:00</published><updated>2010-03-05T19:42:02.622-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nth Max'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL SERVER 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Nth max sal'/><title type='text'>Find Nth max/min Salary in SQL server</title><content type='html'>&lt;ol&gt;&lt;li class="style1"&gt;SELECT * FROM temp1 t1 WHERE n - 1 = ( SELECT COUNT(DISTICNT ( sal )) FROM temp1 t2 WHERE t2.sal &amp;lt; t1.sal ) &lt;/li&gt;&lt;li class="style1"&gt;SELECT TOP 1 * FROM ( SELECT DISTINT TOP n sal FROM temp1 ORDER BY sal DESC) AS t ORDER BY t.sal ASC &lt;/li&gt;&lt;li class="style1"&gt;&lt;b&gt;In sql server 2005&lt;/b&gt;&lt;br /&gt;WITH MyCTE AS(&lt;br /&gt;&amp;nbsp;SELECT t_id, &lt;br /&gt;&amp;nbsp;&amp;nbsp;sal, &lt;br /&gt;&amp;nbsp;&amp;nbsp;DENSE_RANK() OVER(ORDER BY sal DESC) as rank1&lt;br /&gt;&amp;nbsp;FROM temp1&lt;br /&gt;&amp;nbsp;)&lt;br /&gt;SELECT TOP 1 t_id, sal, rank1 FROM MyCTE WHERE rank1 = n &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Any updates/comments are appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-8621859694107733089?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/8621859694107733089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/find-n-th-salary-in-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/8621859694107733089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/8621859694107733089'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/find-n-th-salary-in-sql-server.html' title='Find Nth max/min Salary in SQL server'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7968796603038916194</id><published>2010-01-24T06:04:00.000-08:00</published><updated>2010-02-06T07:43:36.255-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='Trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='Triggers'/><title type='text'>Triggers</title><content type='html'>&lt;strong&gt;Definitions:&lt;/strong&gt; It is special kind of Stored Procedure which is executed whenever specific event is occurred in/on a table or database &lt;/p&gt;&lt;p&gt;2 types in Sql server 2000: &lt;/p&gt;&lt;blockquote&gt;1. DML Trigger&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Instead of triggers &lt;/li&gt;&lt;li&gt; After triggers &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;3 types in Sql server 2005:&lt;br /&gt;&lt;blockquote&gt;&amp;#149;&amp;nbsp; DML Triggers&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Instead of triggers &lt;/li&gt;&lt;li&gt;After triggers &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;#149;&amp;nbsp; DDL Triggers &lt;/p&gt;&lt;p&gt;&amp;#149;&amp;nbsp; CLR Triggers &lt;/p&gt;&lt;/blockquote&gt;2 types in Oracle: &lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;Row Level Triggers &lt;/li&gt;&lt;li&gt;Statement Triggers &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7968796603038916194?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7968796603038916194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/triggers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7968796603038916194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7968796603038916194'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/triggers.html' title='Triggers'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7786574158622484026</id><published>2010-01-24T04:33:00.001-08:00</published><updated>2010-01-24T04:47:53.210-08:00</updated><title type='text'>Data Integrity</title><content type='html'>Data Integrity falls into &lt;br /&gt;1. Entity Integrity&lt;br /&gt;2. Domain Integrity&lt;br /&gt;3. Referential integrity&lt;br /&gt;4. User defined integrity&lt;br /&gt;&lt;b&gt;Entity Integrity:&lt;/b&gt; Defines row as unique instance of an entity for a particular table&lt;br /&gt;&lt;b&gt;Domain Integrity:&lt;/b&gt; Is the validity of entries for a given column enforced by &lt;br /&gt;i. restricting Type&lt;br /&gt;ii. format&lt;br /&gt;iii. Range of possible&lt;br /&gt;E.g.: CHECK constraints, UNIQUE constraints, and DEFAULT constraints&lt;br /&gt;&lt;b&gt;Referential Integrity:&lt;/b&gt; Preserves defined relationships between tables when altered or deleted. E.g.: Check, Foreign key&lt;br /&gt;&lt;b&gt;User defined Integrity:&lt;/b&gt; Business rules can be enforced using triggers and stored procedures.&lt;br /&gt;&lt;br /&gt;Reference:&lt;a href="http://odetocode.com/Articles/79.aspx"&gt;http://odetocode.com/Articles/79.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7786574158622484026?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7786574158622484026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/data-integrity.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7786574158622484026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7786574158622484026'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/data-integrity.html' title='Data Integrity'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-5776680390023072800</id><published>2010-01-24T04:17:00.000-08:00</published><updated>2010-01-24T04:18:13.079-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sorting'/><category scheme='http://www.blogger.com/atom/ns#' term='Sorts'/><title type='text'>Sortings</title><content type='html'>&lt;b&gt;Selection Sort&lt;/b&gt;:&lt;br /&gt;1. Find the minimum value in the list&lt;br /&gt;2. Swap it with the value in the first position&lt;br /&gt;3. Repeat the steps above for the remainder of the list (starting at the second position and advancing each time)&lt;br /&gt;Eg: &lt;br /&gt;64 25 12 22 11&lt;br /&gt;&lt;br /&gt;11 25 12 22 64&lt;br /&gt;&lt;br /&gt;11 12 25 22 64&lt;br /&gt;&lt;br /&gt;11 12 22 25 64&lt;br /&gt;&lt;br /&gt;&lt;b&gt;11 12 22 25 64 &lt;br /&gt;Bubble sort&lt;/b&gt;&lt;br /&gt;Let us take the array of numbers "5 1 4 2 8", and sort the array from lowest number to greatest number using bubble sort algorithm. In each step, elements written in bold are being compared.&lt;br /&gt;First Pass:&lt;br /&gt;( 5 1 4 2 8 )  ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps them.&lt;br /&gt;( 1 5 4 2 8 )  ( 1 4 5 2 8 ), Swap since 5 &gt; 4&lt;br /&gt;( 1 4 5 2 8 )  ( 1 4 2 5 8 ), Swap since 5 &gt; 2&lt;br /&gt;( 1 4 2 5 8 )  ( 1 4 2 5 8 ), Now, since these elements are already in order (8 &gt; 5), algorithm does not swap them.&lt;br /&gt;Second Pass:&lt;br /&gt;( 1 4 2 5 8 )  ( 1 4 2 5 8 )&lt;br /&gt;( 1 4 2 5 8 )  ( 1 2 4 5 8 ), Swap since 4 &gt; 2&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;Now, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs one whole pass without any swap to know it is sorted.&lt;br /&gt;Third Pass:&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;( 1 2 4 5 8 )  ( 1 2 4 5 8 )&lt;br /&gt;Finally, the array is sorted, and the algorithm can terminate.&lt;br /&gt;Best/Worst/Average time complexity = O(n2)&lt;br /&gt;&lt;b&gt;Insertion Sort:&lt;/b&gt;&lt;br /&gt;5 | 3 1 7 0 -&gt; 3 5 | 1 7 9 -&gt; 1 3 5 | 7 9 -&gt; 1 3 5 7 | 9 -&gt; 1 3 5 7 9&lt;br /&gt;&lt;b&gt;Merge sort:&lt;/b&gt;&lt;br /&gt;1. If the list is of length 0 or 1, then it is already sorted. Otherwise:&lt;br /&gt;2. Divide the unsorted list into two sublists of about half the size.&lt;br /&gt;3. Sort each sublist recursively by re-applying merge sort.&lt;br /&gt;4. Merge the two sublists back into one sorted list&lt;br /&gt;Best/Worst/Average time complexity = O(n log n)&lt;br /&gt;You can get a brief idea in the following link: &lt;a href="http://in.answers.yahoo.com/question/index?qid=20071219060751AAjLx4O"&gt;http://in.answers.yahoo.com/question/index?qid=20071219060751AAjLx4O&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-5776680390023072800?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/5776680390023072800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/sortings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/5776680390023072800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/5776680390023072800'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/sortings.html' title='Sortings'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7139219802802614306</id><published>2010-01-24T00:58:00.000-08:00</published><updated>2010-01-24T01:03:37.290-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truncate'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete vs Truncate in SQL server'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><title type='text'>Delete vs Truncate in SQL SERVER</title><content type='html'>&lt;b&gt;Delete Command:&lt;/b&gt;&lt;br /&gt;1.We can delete all or specific rows using WHERE clause in a table&lt;br /&gt;2.Logs are maintained for deleted records&lt;br /&gt;3.Slower than Truncate because of logging&lt;br /&gt;4.Identity column value wouldn’t be reset after deleting all the records&lt;br /&gt;Eg: DELETE "table name"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Truncate Command:&lt;/b&gt;&lt;br /&gt;1.We can not use WHERE clause in a table&lt;br /&gt;2.Logs are not maintained for deleted records&lt;br /&gt;3.Faster than Delete because of logging is not done&lt;br /&gt;4.Identity column value will be reset after truncating records&lt;br /&gt;Eg: TRUNCATE TABLE "table name"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7139219802802614306?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7139219802802614306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/delete-vs-truncate-in-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7139219802802614306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7139219802802614306'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/delete-vs-truncate-in-sql-server.html' title='Delete vs Truncate in SQL SERVER'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-8171661196474999916</id><published>2010-01-22T22:03:00.000-08:00</published><updated>2010-02-20T23:12:43.677-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Assembly'/><title type='text'>Assembly in .NET</title><content type='html'>&lt;a href="http://articles.techrepublic.com.com/5100-10878_11-5032712.html" target="_balnk"&gt;http://articles.techrepublic.com.com/5100-10878_11-5032712.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-8171661196474999916?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/8171661196474999916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/assembly-in-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/8171661196474999916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/8171661196474999916'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/assembly-in-net.html' title='Assembly in .NET'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-2363024583125218489</id><published>2010-01-09T06:26:00.000-08:00</published><updated>2010-01-09T06:41:23.731-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Moss Installation'/><title type='text'>MOSS 2007 Installations</title><content type='html'>Follow up this link for MOSS 2007 Installation for a trial version&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/sharepoint/Setup_Virtual_SharePoint.aspx" target="_blank"&gt;http://www.codeproject.com/KB/sharepoint/Setup_Virtual_SharePoint.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-2363024583125218489?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/2363024583125218489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2010/01/share-point-installations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/2363024583125218489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/2363024583125218489'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2010/01/share-point-installations.html' title='MOSS 2007 Installations'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7099081360245006873</id><published>2009-08-12T23:53:00.000-07:00</published><updated>2010-01-24T06:56:32.489-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>Delete dupliate rows</title><content type='html'>Delete duplicate rows - sql server 2005&lt;br /&gt;&lt;a href="http://blog.sqlauthority.com/2007/03/01/sql-server-delete-duplicate-records-rows/"&gt;http://blog.sqlauthority.com/2007/03/01/sql-server-delete-duplicate-records-rows/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7099081360245006873?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7099081360245006873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/08/delete-dupliate-rows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7099081360245006873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7099081360245006873'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/08/delete-dupliate-rows.html' title='Delete dupliate rows'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-739884064361476925</id><published>2009-08-09T22:02:00.000-07:00</published><updated>2009-08-13T00:13:06.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Localization and globalization in asp.net</title><content type='html'>Good article for localization and globalization:&lt;br /&gt;&lt;a href="http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c12407"&gt;http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c12407 &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-739884064361476925?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/739884064361476925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/08/localization-and-globalization-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/739884064361476925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/739884064361476925'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/08/localization-and-globalization-in.html' title='Localization and globalization in asp.net'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-4145643443487963308</id><published>2009-08-01T03:42:00.001-07:00</published><updated>2009-12-14T09:56:23.060-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server 2005 installation'/><title type='text'>How to install sql server 2005?</title><content type='html'>Steps to install sql server 2005 can be found at:&lt;br /&gt;&lt;a href="http://articles.techrepublic.com.com/5100-10878_11-6102265.html" target="_blank"&gt;&lt;br /&gt;http://articles.techrepublic.com.com/5100-10878_11-6102265.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You need to install the following,&lt;br /&gt;1. Windows installer &lt;br /&gt;   Note: No need of installing windows installer for server 2003 sp1,sp2&lt;br /&gt;2. SQLEXPR.EXE&lt;br /&gt;3. SQLServer2005_SSMSEE.msi&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Download  links&lt;/u&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=220549b5-0b07-4448-8848-dcc397514b41&amp;amp;displaylang=en" target="_blank"&gt; SQLEXPR.EXE&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&amp;amp;displaylang=en" target="_blank"&gt;SQLServer2005_SSMSEE.msi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you get client systems error 'doesn't allow remote connections' then&lt;br /&gt;follow these steps,&lt;br /&gt;start -&gt; programmers -&gt; microsoft sql server 2005 -&gt; configuration tools -&gt;&lt;br /&gt;sql server surface area configuration&lt;br /&gt;&lt;br /&gt;#1 enable sql browser services&lt;br /&gt;#2 set the appropriate type for remote connections&lt;br /&gt;#3 Stop and start modified services.&lt;br /&gt;&lt;br /&gt;Happy Installation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-4145643443487963308?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/4145643443487963308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/08/how-to-install-sql-server-2005.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/4145643443487963308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/4145643443487963308'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/08/how-to-install-sql-server-2005.html' title='How to install sql server 2005?'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-1950331149845048653</id><published>2009-08-01T02:16:00.001-07:00</published><updated>2009-08-01T02:16:13.087-07:00</updated><title type='text'></title><content type='html'>Cscript.exe iisback.vbs /s tech11 /u administrator /p hmsr_2008 /backup /b "D:\hosting\iis_01-08-09.xml"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;URLS:&lt;br /&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/475fb247-984d-4c65-842a-ae3bdd3e1080.mspx?mfr=true&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/kb/324277&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cscript.exe iisback.vbs /s srv1 /u Administrator /p DCserver2009 /backup /b iis_backup_01_08-09&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;iisback /restore /b C:\Documents and Settings\Administrator\Desktop\MetaBack\MetaBack\Initial Backup - created automatically by IIS setup.SC1  /s tech11 /u administrator /p hmsr_2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-1950331149845048653?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/1950331149845048653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/08/cscript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/1950331149845048653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/1950331149845048653'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/08/cscript.html' title=''/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-7339661994316380195</id><published>2009-08-01T01:49:00.000-07:00</published><updated>2009-08-01T01:50:08.247-07:00</updated><title type='text'>backup iis</title><content type='html'>Cscript.exe iisback.vbs /s srv1 /u Administrator /p DCserver2009 /backup /b iis_backup_01_08-09&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-7339661994316380195?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/7339661994316380195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/08/backup-iis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7339661994316380195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/7339661994316380195'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/08/backup-iis.html' title='backup iis'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-369255965162023043.post-3001719262534152082</id><published>2009-06-13T01:42:00.000-07:00</published><updated>2009-06-13T01:43:52.981-07:00</updated><title type='text'>Hi all</title><content type='html'>I am new bee to blogging. Have a good day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/369255965162023043-3001719262534152082?l=dot-guru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dot-guru.blogspot.com/feeds/3001719262534152082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dot-guru.blogspot.com/2009/06/hi-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/3001719262534152082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/369255965162023043/posts/default/3001719262534152082'/><link rel='alternate' type='text/html' href='http://dot-guru.blogspot.com/2009/06/hi-all.html' title='Hi all'/><author><name>rknuthakki</name><uri>http://www.blogger.com/profile/02825559699986813202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_f5RsfptLOHw/S4DL9Q4DsHI/AAAAAAAAAFA/ddYjhOcZ8sM/S220/n706925315_1194189_5732.jpg'/></author><thr:total>0</thr:total></entry></feed>
