Remove row like tr from table using jQuery

jQuery provide a method remove() using this we can remove rows of the table, sometimes we need to remove row from the table here we can use this thing. Suppose we are appending searched item to a table, it will be good in first time if we click again for other search then we need to clear appended item from the table and then add again, in this scenario we will use below functions.

$('#remove').click(function () {
            $('#SearchTextID tr).remove();
        })
Here SearchTextID is a <table> id
Like
<table>
    <tr>
        <td>your text</td>
    </tr>
    <tr>
        <td>your text v2</td>
    </tr>

</table>
Above jQuery will help you to remove all <tr> tag from <table>
If you want to remove last or first row of the table see below:
Remove last row
$('#remove').click(function () {
            $('#SearchTextID tr:last).remove();
        })
Or to remove first row
$('#remove').click(function () {
            $('#SearchTextID tr:first).remove();
        })



polymorphism interview questions and answers in c#

Question: What is polymorphism in c#?
Answer: Polymorphism means one object behaving as multiple forms. One object or function shows different behavior in the different scenario is called polymorphism. For example, Dilip is a human object or function in which talking behavior will change according to his Father, Mother, Son, Boss, etc.
In C# there are two types of polymorphism
1.  Static or Compile time
·         Function Overloading
·         operator overloading
2.  Run Time
·         Virtual function

Question: What is method overloading?
Answer: When a class has more than one method with the same, but a different signature is called method overloading.
For example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

    class A
    {
       //1- Passed string parameter
        public void Add(string a, string b)
        {
            a = a + b;
            Console.WriteLine(a);
        }
       //2- Passed int parameter
        public void Add(int a, int b)
        {
            a = a + b;
            Console.WriteLine(a);
        }
        static void Main(string[] args)
        {
            A oA = new A();
            oA.add("Dilip","Singh");
            oA.add(10, 15);
        }
    }
}

Output:
DilipSingh
25

In the above example, Add is the same-named function, but the parameter is different, so when we call the Add method passing parameter as a string, then the Add method with string parameter will access the same as Add method with int parameter.

Question: What is method overriding?
Answer: To extend or modify the abstract or virtual implementation of the inherited method, property, indexer, or event is called overriding.
For example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

    class Demo
    {
        static void Main(string[] args)
        {
            A oA;
            oA = new A();
            oA.Display();
            oA = new B();
            oA.Display();
        }
    }
    class A
    {
        public virtual void Display()
        {
            Console.WriteLine("Base class");
        }
    }
    class B : A
    {
        public override void Display()
        {
            Console.WriteLine("Derived class");
        }
    }
}

Question: When should use method overloading?
 Answer:  When more than one method does the same thing, but takes a different parameter. e.g., Method Area(circle c). Area(Rectangle r).. the basic function is calculating area but with different structures.

Question: Advantage of Polymorphism?
Answer:
·         Invoking child class functions dynamically
·         Maintenance of code becomes easy.

Question: What is the difference between "new" and "override" keyword in the inheritance chain?
Answer:  Override: When a method of a base class is overridden in a derived class, the version in the derived class is used, even if the calling code didn't "know" that the object was an instance of the derived class.

New: If you use the new keyword instead of override, the method in the derived class doesn't override the method in the base class, it merely hides it.


Question: Will the following code will compile? Why?
Answer:
A) class A
    {
        public  void Display()
        {
            Console.WriteLine("Base class");
        }
    }
    class B : A
    {
        public override void Display()
        {
            Console.WriteLine("Derived class");
        }
    }

The above code will not compile because the base class method should be marked with a virtual class.
B)
class A
    {
        public void Display()
        {
            Console.WriteLine("Base class");
        }
    }
    class B : A
    {
        public new void Display()
        {
            Console.WriteLine("Derived class");
        }
    }
Yes above code will be compile because a new keyword defines its own implementation, and it's not related to base class method in any way.
C)
class A
    {
        public virtual void Display(ref int a)
        {
            Console.WriteLine("Base class");
        }
    }
    class B : A
    {
        public override void Display(out int a)
        {
            Console.WriteLine("Derived class");
        }
    }
Above code will give compile time error due to signature mismatch.
Question: What is the disadvantage of using a virtual keyword?
Answer:
1.       Appropriate function calls are determined only at runtime.

2.       Since virtual keyword is used, derived classes may ignore that base class implementation.


Difference between @@IDENTITY, SELECT SCOPE_IDENTITY(), SELECT IDENT_CURRENT

SELECT @@IDENTITY: it’s responsible to returns the last identity value generated for any table in the current session, across all scopes (i.e. global scope).

SELECT SCOPE_IDENTITY(): It’s responsible to returns the last identity value generated for any table in the current session and the current scope(i.e. local scope).
SELECT IDENT_CURRENT(‘table_name’): It’s responsible to returns the last identity value generated for a specific table in any session and any scope (i.e. global scope).
Following example may clear your concept.
CREATE TABLE TBL1
(id INT IDENTITY(1,1))
CREATE TABLE TBL2(
id INT IDENTITY(100,1))
GO

CREATE TRIGGER TGR ON TBL1 FOR INSERT
AS
BEGIN
INSERT TBL2 DEFAULT VALUES
END
GO

INSERT TBL1 DEFAULT VALUES
SELECT @@IDENTITY AS FOR_IDENTITY
SELECT SCOPE_IDENTITY() AS FOR_SCOPR_IDENDITY
SELECT IDENT_CURRENT('TBL1') AS FOR_IDENT_CURRENT_TBL1
SELECT IDENT_CURRENT('TBL2') AS FOR_IDENT_CURRENT_TBL2
GO
DROP TABLE TBL1
DROP TABLE TBL2
GO


In above example, I have created a trigger on TBL1 for insert. Trigger will fire when we insert a value in TBL1 and it will insert a default value in TBL2.
Now see following result 


As per @@IDENTITY rule it returns the last identity value generated for any table in the current session, it is showing last inserted value of TBL2 although we inserted value in TBL1. It happens because after trigger fired a default value insert in TBL2 which is the last inserted identity in current session.


As per SCOPE_IDENTITY() it returns the last identity value generated for any table in the current session and the current scope so it returns TBL1 identity.


As per IDENT_CURRENT(‘table_name’) it returns the last identity value generated for a specific table in any session and any scope sot it returns TBL1 and TBL2 identity individually. 

PostgreSQL-Query: Sort result set by specific field values using ORDER BY Clause

Problem: Suppose we have a book_inventory table which has some columns such as id, isbn, title, author, publisher, publish_date, etc.. whe...