Microsoft Students to Business

Indian Student

Student To Business

Realize your dreams with the Student to Business Program.

Are you a graduating student looking for formative work experience in the IT field? Are you a Microsoft partner hoping to recruit students with the skills to meet the demands of today´s technology industry? Are you a professor at a University teaching Microsoft technology competencies? Welcome to the S2B program, a community initiative involving Microsoft, State Governments, Microsoft Partners and leading universities.

Our goal is to help students enhance their career opportunities by providing them with training opportunities, helping them obtain globally recognized certifications and providing them with the platform to showcase their ideas to the world

Academic Projects

Academic Projects

Great ideas need not be confined to the garage.

The mission of the Academic Projects Program is to inspire students in India to innovate, solve key computing challenges and make them more productive in their IT jobs from day one. The program will be a learning experience beyond compare.

Who can sign up?
If you are a student working on the Microsoft platform or using any of the Microsoft technologies sign up your project with us.
Why sign up?
Not only will we take you through an experience of how software is built in the industry but also provide you with the opportunity to showcase you at a State/National Level Project Fair.And did we mention that the top 25 teams will get a cash prize of INR 10000/- each.
Why register your academic project with Microsoft?

  • Leverage Microsoft expertise to help you produce a world-class solution.
  •  Gain access to the latest Microsoft technologies (students registering for the program will be able to download the latest software from the software section of the site).
  • Receive Microsoft merit certificates (all teams that complete the project will get a certificate).
  • Enhance your CV before you start work in the IT industry.
  • Get an opportunity to showcase your project at State level and National level expo.
  • The Top 25 teams will win a cash prize of INR 10000/- each.

How to get Started?
All you need to get started is a smart idea (we have a bunch of good project topics that you can find in the Projects Pool and 2-3 teammates and a project mentor. If you are already working on a project with an industry partner as part of your academic requirement, you can submit the same project to us. You do not need to work on a fresh project for this program. If you do not have a project mentor, you can still register your project as a hobbyist project. If you are already working on a project with an industry partner as part of your academic requirement, you can submit the same project to us. You do not need to work on a new project for this program. Your project should be targeted for the Microsoft platform. There is no requirement to use any specific programming languages or software. This means that you can submit a project written in Java or PHP as well, as long as the project runs on Microsoft Windows operating system. You can also look at interoperatibility between Microsoft and other platforms as project topics. Since different colleges across the country have different schedules we have two tracks that you can choose for doing the project. If your college project starts in the odd semester you can participate in the one year program. However, if you college project only starts in even semester or if you have missed submitting the project in the one year program you can participate in the six month program. Both programs provide the same benefits only the deadlines are different

Academic Year (2007 – 2008)

  One year program Six months program
Registrations 17th August to 15th November 15th November to 31st January
Synopsis(idea) submission (2 pages) 15th November 1st February
Project Report (20 – 100 pages) 15th February 28th February
Mentor Feedback 28th February 28th February
Microsoft Review Results 15th March 15th March
Project Fair for top teams April April

Click here to register your project

Templates for submitting synopsis, detailed report and collecting mentor feedback will soon be available under the Downloads section of the website.

Get Project Topics Here.

General Questions

How is S2B different from MSAPP (Microsoft Academic Projects Program)?

MSAPP is just one part of Students2Business. S2B is about helping students be more successful and have a great head start in their careers. The S2B program will provide the following -

  • Technical training- Agenda about student trainings being done in partnership with State governments, online webcasts, academic developer conference, other Microsoft events and links to resources that we think are the most important to students.
  • Soft Skills trainings- We aspire to provide some good content to help students improve their communication, leadership and management skills. These as all of you know are things skills without which you cannot reach the top.
  • Academic Projects- This is the equivalent of the MSAPP program. However this time we want you to submit the projects that you are working on to us instead of working on project topics given by us. The objective is to identify the great work that happens in our academic institutions from all of you and provide you with a platform to showcase this to the world. The best projects will be invited to showcase their projects at state and national level expos. Various deadlines for the academic projects are available on the website.
  • Industry Projects- Look out at this space for internships and projects with Microsoft and our partners. Since this is the first time that we are doing this, we might not have a lot of opportunities to start with but we think that the number of projects that we are able to provide to you from here will grow exponentially once our partners see the smart students that they can reach through S2B.
  • Software Access– Access to the latest tools and technologies from Microsoft that you need to design a world class project.
Registration and Team Formation

I cannot find my college in the list. Can I register for the program?

If you cannot find your college in our list, you have an option to request to add your college in our list and complete your registration process. We periodically review all the request that we have received and will add your college to the database if it meets our criteria. You will then have full access to all the features of the website. In case for some reason we do not accept your college, your registration will not be completed and we will send you an email informing you of the same. In this case you will need to re-register to the site.

Projects

What is the difference between Academic Projects and Industry Projects?

The objective of academic projects is to provide students with an opportunity to submit their projects that they are already working on to Microsoft and aims to take the students through the different stages involved in working on software projects. On the other hand the objective of industry projects is to provide students with an opportunity to work on real world projects and internships defined by Microsoft or its partners. We will be posting up industry projects/internships as and when they become available to us.

What kind of projects can I submit to Microsoft?

You can submit any project that you are already working on. There is no need to work on a new project just to take part in S2B program. The only requirement is that there should be one Microsoft technology being used. This means you can submit a Java project of a PHP website if they run on Windows. The aim of our academic project is to focus more on the idea and less on the tools that are being used for implementing it.

How do we sign up/register a academic project?

You require the follow the following steps to register a academic project –

  • 1. On the S2B site, on the left hand side you fill find a “Signup” button to signup using your Live ID. If you do not have a Live ID you will have an option of creating one.
  • 2. If you have not previously registered to the site then once you sign in you will have to register with us by providing additional information (college details, email address etc)
  • 3. You will then have to confirm your registration by clicking on the link in the email that S2B will send to you email address.
  • 4. Once you are registered, please click the Academic Projects and you will now see a sub-menu which will allow you to start a new project.
  • 5. Click the “Start New Project” link to form your team and register your project with us. You can register multiple projects with us.

    have got an invitation from a friend to join a project. What do I do next?

    If a friend of yours has invited you to his/her project, you will get an email asking you to accept the invitation. Once you click this, you will be directed to the S2B website where you will need to sign in using your Live ID (in case you do not have a Live ID then you will require to create one as part of the registration process). In case you have not registered to the S2B portal before you will have to complete the registration process. Once you complete the registration process you will be added to the team and you will be able to see the project in your “My Projects” section under Academic Projects.

    How many students are required to do project? Can I work alone on my project?

    The minimum number of members required for a project is different for different types of projects. For a academic project there can be between 2-4 members in a team and hobbyist project can have between 1-4 members.

    Do I require a mentor for registering my project?

    There are two types of projects under “Academic Projects”

    • Academic Project – Project done as part of course requirement
    • Hobbyist Project – Project done outside the academic course

    If you want to register an academic project then a mentor is required who can evaluate the project. This should not be a problem in any project that you do as part of academic requirements should have some faculty member who can be your mentor. For hobbyist project no mentors are required.

    What is the difference between Academic Project and Hobbyist Project?

    Academic Project is a project that you do as part of requirement of your course study. Typically this will be either a final year project or a pre-final year mini-project that is required by most universities. Any other project that you do to learn about new technologies or participate in competitions at college or inter-college level will fall under hobbyist category. Certificates will be provided for both category of projects if you complete all the stages of the project.

    If I choose a hobbyist project, does my chance of coming at an expo decrease?

    No, projects under both the category have an equal chance for being selected for the expo.

    Will Microsoft provide me with a mentor/guide for the project? Will there be someone to whom I can ask my doubts?

    No guide/mentor will be provided to anyone as part of the academic or industry projects. In case you have doubts you can post them at our forum http://www.microsoft.com/samvaad . We have a very strong and vibrant student community who can help you if you get stuck while working on the project.

    Will I received a feedback on my project?

    Based on the mentor evaluations we will be short listing projects for detailed review. Only these projects will be provided with feedback.

    When will I get the certificates for this year (2007-08)?

    Projects will be given out after the project expos are complete. We are working on a system such that you can download an print your own certificate so as to avoid delay or loss of certificates. Link to print your certificate will be provided to you towards the end of this academic year.

    Do I get a participation certificate?

    Certificates will be given to students who complete all the stages of the project. No credit will be given to any individual/team who does not complete the project and they will not get any participation certificates.

    Does my chance for an expo decrease if I choose an existing project topic?

    If you choose one of the existing definitions and submit the same to S2B the chance for being invited to expo is a little less since we want to showcase innovative ideas. If you do well and complete the project, you will get a certificate but unless the implementation is really different it will stand a less chance for being selected. The project topics are given to students so that they can see the kind of projects that we want to see and use them as an idea to build on. So if you want to compete for a place in the expo we suggest that you either work on a cool implementation and explore areas to extent the current project definition or submit a totally different idea.

    Will I receive money/stipend for working on projects?

    No stipend is provided for working on academic projects. Information about stipend/prize provide in case of industry project will be provide with each project.

    Can I do more than one project at a time?

    Yes you can do multiple projects (including academic, hobbyist and industry) at the same time. Each project that you do can have a different team and you will get a certificate for all the projects that you complete successfully.

    My teammates have not received an invitation. What can I do?

    You can send a reminder/invitation to you team members from the project home page. Once you choose the team members to whom you want to send a reminder press the save/submit button or else the invitations will not go. Also ask your friends to check their junk mail.

    Can we change the team members, and project title after first initial registration?

    Yes, you can change you team members till the time you lock your team. You need to lock the team to start submitting project documents to us.

    Where do I submit the project documents?

    You can upload the project documents from the project home page.

    If we miss the deadline can we submit the documents to you over email?

    In case you miss the deadlines for submission, you cannot send the documents to us over email. In this scenarios your project will be consider to be incomplete and you will not be get any credit for that project.

    Do we have to use the project templates provided by you?

    You have to use the project template provided by us. In case your college required the projects to be documents in another format then we request you to submit both the files in a zip folder. Having the project report in our template makes it easy for our experts to review the projects and ensure that all the information that we are looking for is covered by the students.

    Will Microsoft provide us with a mentor for academic projects?

    No Microsoft will not be providing you with a mentor for any projects.

    Software

    What software will I get if I register for Students2Business?

    If you college has subscribed to MSDN Academic Alliance (www.msdnaa.net) and has not deployed ELMS then once you are verified we will provide you with the most commonly used software that comes as part of MSDN AA. This includes most of our Operating Systems, Servers and Developer Tools like Windows XP, Windows Vista, SQL Server 2005 and Visual Studio 2005. In case you college does not subscribe to MSDN AA then unfortunately we cannot provide you access to the whole set of our offering but we will provide you access to basic software that we think are the most required for working on projects.

    What is a verified member?

    Any student who registers with us is called a registered member. You can become a verified member by submitting to us a proof of your being a student with the college that you choose while signing up. Any student who has been successfully verified is known as a verified member. The main benefit of being a verified member of the website is access to download software from the S2B program which is not available to registered members.

    How do I become a verified member?

    To become a verified a member you need to send a scanned copy of your 10th standard mark sheet and your college id card/bonafide certificate to s2bindia@microsoft.com. Please mention the subject as “Verification request for Student2Business Portal”. If your college has an active MSDN AA subscription then once you are verified, you will have access to software available as part of MSDN AA.

    Software

    To make a big idea take-off, you require to right tools

    We at Microsoft know that how you execute on your idea and the tools that you use are as important as the idea itself. We have the tools and products that enable people to gain productivity, to enhance their productivity, their creativity and their imagination. On this website you will find all the tools that you require to execute seamless and transform your idea to reality.

    In case your college has MSDN AA (www.msdnaa.net) and you are a verified member of the student2business.co.in website then you will be able to access the software available to you as part of the academic alliance program. In case your college is not a member of the academic alliance we will provide you links to freely available Microsoft tools which you can use while working on your projects.

    For more information, contact the DPE Academic Team at the Microsoft office in Delhi, Mumbai or Bangalore

    Delhi

    Microsoft Corporation (I) Pvt. Ltd.
    9th Floor, Tower A, DLF Cyber Greens
    DLF Cyber Citi, Sector 25A
    Gurgaon 122 002
    Tel. +91-124-4158000 / 2567000
    Fax. +91-124-4158888

    Mumbai

    Microsoft Corporation (I) Pvt. Ltd.
    4th Floor, Windsor Building, Off CST Road
    Kalina, Santacruz (East)
    Mumbai 400 098
    Tel. +91-22-67724000
    Fax. +91-22-67724500

    Bangalore

    Microsoft Corporation (I) Pvt. Ltd.
    Signature Building, Ground & 1st floor
    Embassy Golf Links Business Park
    Off. Intermediate Ring Road, Domlur
    Bangalore 560 071
    Tel. +91-80-22121212
    Fax. +91-80-22121000

    You can also interact with us through our forum located at http://forums.microsoft.com/samvaad or write to us at s2bindia@microsoft.com.We recommend that you first post your query or search for an answer at the forums and only if you cannot find that answer there that you mail us. Please use the option to call us as the last resort only.

    A Las Vegas casino prevented from getting hacked. Find out How.


    Channel 9 Code Room Videos



    (Or A Developer’s Fantasy come true)


    I don’t know if I will be able to disclose everything here but first
    bookmark this.
    What is so special about this code?
    The Code Room has 3 videos. Watch them in your office or home in the still of the night.
    Like you, I was an innocent geek developer, until I became part of a crack team. We were asked to team up with programmers & technologists, and challenged to do the impossible. Again and again.
    First, we were locked up inside an intercity warehouse with only a desk,a laptop, and a few partially charged batteries…and asked to complete an ecommerce website.
    Then, the crack team was asked to create a mobile app for allowing a mobile phone in a mall to talk to a particular store using Bluetooth. And… finally the most dangerous mission… detecting a security breach inside a casino and catching the hackers. And… finally the most dangerous mission… detecting a security breach inside a casino and catching the hackers.
    In each case, we succeeded — against all odds. (I can hear you saying you would have done even better…but would you?
    See the videos and decide for yourself).
    But now I feel threatened by the hackers at the casinos. So I’ve decided not to take chances, but pass on the code to fellow developers like you.
    Promise me that our to-do-or-die “spirit for challenges” will always fly high.
    Pass this clue to every developer you know who dreams of being part of a crack team.
    I will write to you… again.
    Until then,
    Agent 9
    Member, Crack Team Code Room


    ©2007 Microsoft Corporation. All rights reserved. Microsoft is a registered trademark of Microsoft Corporation in the United States and/or other countries. Review our Privacy Statement: If you prefer not to receive future promotional e-mails of this type from Microsoft, please send an email at erase@microsoft.com. We will promptly update your preferences; however, you may still receive previously initiated promotional communications from Microsoft.

    .NET Interview Questions and Answers

    • · Differences

    1. Difference between Classic ASP and ASP.Net?
    Answer:

    § ASP is Interpreted language based on scripting languages like Jscript or VBScript.

    § ASP has Mixed HTML and coding logic.

    § Limited development and debugging tools available.

    § Limited OOPS support.

    § Limited session and application state management.

    § Poor Error handling system.

    § No in-built support for XML.

    § No fully distributed data source support.
    while

    § ASP.Net is supported by compiler and has compiled language support.

    § Separate code and design logic possible.

    § Variety of compilers and tools available including the Visual studio.Net.

    § Completely Object Oriented.

    § Complete session and application state management.

    § Full proof error handling possible.

    § Full XML Support for easy data exchange.

    § Fully distributed data source support.

    2. What’s the difference between Response.Write() and Response.Output.Write()?
    Answer: Response.Outout.Write allows us to write the formatted out put.

    3. Can you explain the difference between an ADO.NET Dataset and an ADO Recordset?
    Answer:

    § A DataSet can represent an entire relational database in memory, complete with tables, relations, and views, A Recordset can not.

    § A DataSet is designed to work without any continuing connection to the original data source; Recordset maintains the contentious connection with the original data source.

    § There’s no concept of cursor types in a DataSet, They are bulk loaded, while Recordset work with cursors and they are loaded on demand.

    § DataSets have no current record pointer, you can use For Each loops to move through the data. Recordsets have pointers to move through them.

    § You can store many edits in a DataSet, and write them to the original data source in a single operation. Recordset can have a single edit at a time.

    § Dataset can fetch source data from many tables at a time, for Recordset you can achieve the same only using the SQL joins.

    4. What is the difference between an abstract method & virtual method?
    Answer: An Abstract method does not provide an implementation and forces overriding to the deriving class (unless the deriving class also an abstract class), where as the virtual method has an implementation and leaves an option to override the it in the deriving class. Thus Virtual method has an implementation & provides the derived class with the option of overriding it. Abstract method does not provide an implementation & forces the derived class to override the method.

    5. What are the different types of assemblies? Explain.
    Answer: Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in portable executable (PE) files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed.

    6. What are the difference between Structure and Class?
    Answer:

    § Structures are value type and Classes are reference type.

    § Structures can not have contractors or destructors. Classes can have both contractors and destructors.

    § Structures do not support Inheritance, while Classes support Inheritance.

    7. What are the difference between const and readonly?
    Answer:

    § A const can not be static, while readonly can be static.

    § A const need to be declared and initialized at declaration only, while a readonly can be initialized at declaration or by the code in the constructor.

    § A const’s value is evaluated at design time, while a readonly’s value is evaluated at runtime.

    8. Differences between dataset.clone and dataset.copy
    Answer: dataset.clone copies just the structure of dataset (including all the datatables, schemas, relations and constraints.), However it doesn’t copy the data. On the other hand dataset.copy, copies both the dataset structure and the data.

    9. Describe the difference between inline and code behind.
    Answer: Inline code written along with the html and design blocks in an .aspx page. Code-behind is code written in a separate file (.cs or .vb ) and referenced by the .aspx page.

    10. What is Difference between Namespace and Assembly?
    Answer: Namespace is a logical design-time naming convenience, whereas an assembly establishes the name scope for types at run time.

    11. What is the difference between early binding and late binding?
    Answer: Calling a non-virtual method, decided at a compile time is known as early binding. Calling a virtual method (Pure Polymorphism), decided at a runtime is known as late binding.

    12. What is the difference between User Control and Custom Control?
    Answer: Custom Controls are compiled code (Dlls), easier to use, difficult to create, and can be placed in toolbox. Drag and Drop controls. Attributes can be set visually at design time. Can be used by Multiple Applications (If Shared Dlls), Even if Private can copy to bin directory of web application add reference and use. Normally designed to provide common functionality independent of consuming Application. User Controls are similar to those of ASP include files, easy to create, can not be placed in the toolbox and dragged – dropped from it. A User Control is shared among the single application files.

    13. What is the difference between ASP Session State and ASP.Net Session State?
    Answer: ASP session state relies on cookies, Serialize all requests from a client, does not survive process shutdown, Can not maintained across machines in a Web farm.

    14. What is the difference bettween DataReader and DataSet?
    Answer: DataReader represents only one database record at a time. You must call the Read() method to fetch each new record from the underlying database table into memory. Each time you call Read() again, the previously fetched record is lost. DataSet is on the other hand, enables you to represent the results of a database query in your server’s memory. Because a DataSet provides you with a memory-resident representation of data, you can work with the results of a database query as a whole. DataReader must remain connected to a database table. A DataReader is tied down to its underlying data source. The DataSet object is central to supporting disconnected, and distributed data scenarios with ADO.NET. The DataSet is a memory-resident representation of data that provides a consistent relational programming model regardless of the data source. It might be helpful to think of a DataReader as a forward-only recordset. A DataSet, on the other hand, is similar to a disconnected, client-side, static recordset. DataSets also require more overhead to create and populate than DataReaders.

    •  Abbreviations

    1. CLR = Common Language Runtime

    2. CLS = Common Language Specifications

    3. CTS = Common Type Specifications

    4. GC = Garbage Collector.

    5. WSDL = Web Services Description Language.

    6. MSIL = Microsoft Intermediate Language.

    7. CIL = Common Intermediate Language – MSIL.

    8. JIT = Just In Time.

    9. PE = Portable Executable – A file format.

    10. COFF = Common Object File Format – A file format.

    11. GAC = Global Assembly Cache.

    12. DDL = Data Definition Language.

    13. DML = Data Manipulation Language.

    14. CAS = Code Access Security.

    15. RCW = Runtime Callable Wrapper.

    16. COM = Component Object Model.

    17. CCW = COM Callable Wrapper.

    18. DOM = Document Object Model.

    19. DNA = Distributed interNet Applications Architecture.

    20. GUID = Globally Unique Identifier.

    21. MS-DTC = Microsoft Distributed Transaction Coordinator.

    22. OLTP = Online Transaction Processing.

    23. OLAP = Online Analytical Processing.

    24. RAD = Rapid Application Development.

    25. SMTP = Simple Mail Transfer Protocol.

    26. SOAP = Simple Object Access Protocol.

    27. TCP = Transport Control Protocol.

    28. TLB = Type Library.

    29. UDF = Uniform Data Format.

    30. UDDI = Universal Description, Discovery and Integration.

    • True/False

    1. A Web service can only be written in .NET?
    Answer: False (Java also)

    2. To test a Web service you must create a windows application or Web application to consume this service?
    Answer: False, the webservice comes with a test page and it provides HTTP-GET method to test it.

    • Simple Questions

    1. What is IL? (What is MSIL or CIL, What is JIT?)
    MSIL is the CPU –independent instruction set into which .Net framework programs are compiled. It contains instructions for loading, storing initializing, and calling methods on objects.

    2. What is CLR?
    Answer: CLR also known as Common Language Run time provides a environment in which program are executed, it activate object, perform security check on them, lay them out in the memory, execute them and garbage collect them.

    3. What is CTS?
    Answer: The common type system is a rich type system, built into the common language runtime, which supports the types and operations found in most programming languages.

    4. What is CLS?
    Answer: CLS also known as Common Language Specification defines the rules which all language must support, in order to be a part of .Net framework. The Common Language Specification is a set of constructs and constraints that serves as a guide for library writers and compiler writers. It allows libraries to be fully usable from any language supporting the CLS, and for those languages to integrate with each other. The Common Language Specification is a subset of the common type system. The Common Language Specification is also important to application developers who are writing code that will be used by other developers.

    5. Which class does the web page belong to in ASP.Net?
    Answer: System.Web.UI.Page

    6. Which class deals wit the user’s locale information?
    Answer: System.Web.UI.Page.Culture

    7. What data type does the RangeValidator control support?
    Answer: Integer, Date and String.

    8. What is the difference between Server.Transfer and Response.Redirect?
    Answer: Server.Transfer, transfers the control of a web page, posting a form data, while Response.Redirect simply redirects a page to another page, it can not post a form data to another page. Server.Transfer is more efficient over the Response.Redirect, because Response.Redirect causes a round trip to server as the page is processed once again on the client and a request is made to server there after.

    9. Can you give an example of what might be best suited to place in the Application_Start and Session_Start subroutines?
    Answer: All the global declarations or the variables used commonly across the application can be deployed under Application_Start. All the user specific tasks or declarations can be dealt in the Session_Start subroutine.

    10. What is viewState?
    Answer: ViewState is a .Net mechanism to store the posted data among post backs. ViewState allows the state of objects to be stored in a hidden field on the page, saved on client side and transported back to server whenever required.

    11. What is the lifespan for items stored in ViewState?
    Answer: Items stored in a ViewState exist for the life of the current page, including the post backs on the same page.

    12. Can we disable ViewState, If, yes how?
    Answer: ViewState can be disabled by using “EnableViewState” property set to false.

    13. What’s a bubbled event?
    Answer: When a complex control like datalist or datagrid, which contains a child control, using an itemcommand can listen to the events raised by the child control in the main control. The process of listening to the child control in the main or parent control is called as event bubbling.

    14. What is an assembly?
    Answer: Assemblies are the building blocks of the .NET framework. They are the logical grouping of the functionality in a physical file.

    15. What are different types of Assemblies?
    Answer: Single file and multi file assembly. Assemblies can be static or dynamic. Private assemblies and shared assemblies

    16. Which method do you invoke on the DataAdapter control to load your generated dataset with data?
    Answer: DataAdapter’s fill () method is used to fill load the data in dataset.

    17. Can you edit data in the Repeater control?
    Answer: No, it just reads the information from its data source

    18. Which template is to be provided in the Repeater control in order to display a data? Which template will display every other row in another color?
    Answer: ItemTemplate, AlternatingItemTemplate

    19. What are the most important property and most important method of a Repeater control?
    Answer: The DataSource property and DataBind() method.

    20. How many classes can a single .NET DLL contain?
    Answer: It can contain many classes.

    21. What are the advantages of an assembly?
    Answer: Increased performance. Better code management and encapsulation. It also introduces the n-tier concepts and business logic.

    22. What is the purpose of an Assembly?
    Answer: An assembly controls many aspects of an application. The assembly handles versioning, type and class scope, security permissions, as well as other metadata including references to other assemblies and resources. The rules described in an assembly are enforced at runtime

    23. What a static assembly consist of in general?
    Answer: In general, a static assembly consist of the following four elements:

    § Assembly Manifest, which contains the assembly metadata.

    § Type Metadata.

    § MSIL code that implements the types.

    § A set of resources.

    From above all only the manifest is required, however the other types and resources add the additional functionality to the assembly.

    24. What is GAC or Global Assembly Cache?
    Answer: Global Assembly Cache (GAC) is a common place to share the .NET assemblies across many applications. GAC caches all strong named assembly references within it. All System assemblies that come with the .NET framework reside in the GAC.

    25. How to view an assembly?
    Answer: We can use the tool “ildasm.exe” known as “Assembly Disassembler” to view the assembly.

    26. What is Authentication and Authorization?
    Answer: Authentication is the process of identifying users. Authentication is identifying/validating the user against the credentials (username and password) and Authorization performs after authentication. Authorization is the process of granting access to those users based on identity. Authorization allowing access of specific resource to user.

    27. What are the types of Authentication? Describe.
    Answer: There are 3 types of Authentication. Windows, Forms and Passport Authentication.

    § Windows authentication uses the security features integrated into the Windows NT and Windows XP operating systems to authenticate and authorize Web application users.

    § Forms authentication allows you to create your own list/database of users and validate the identity of those users when they visit your Web site.

    § Passport authentication uses the Microsoft centralized authentication provider to identify users. Passport provides a way to for users to use a single identity across multiple Web applications. To use Passport authentication in your Web application, you must install the Passport SDK.

    28. What are the types of comment in C#?
    Answer: There are 3 types of comments in C#.
    Single line (//), Multi line (/* */)and Page Comments (///).

    29. What is an ArrayList?
    Answer: The ArrayList object is a collection of items containing a single data value.

    30. What is a HashTable?
    Answer: The Hashtable object contains items in key/value pairs. The keys are used as indexes, and very quick searches can be made for values by searching through their keys.

    31. What is SortedList?
    Answer: The SortedList object contains items in key/value pairs. A SortedList object automatically sorts items in alphabetic or numeric order.

    32. What is a Literal Control?
    Answer: The Literal control is used to display text on a page. The text is programmable. This control does not let you apply styles to its content!

    33. What is CAS or Code Access Security?
    Answer: CAS is the part of the .NET security model that determines whether or not a piece of code is allowed to run, and what resources it can use when it is running. For example, it is CAS that will prevent a .NET web applet from formatting a hard disk.

    34. What is Side-by-Side Execution
    Answer: The CLR allows any versions of the same-shared DLL (shared assembly) to execute at the same time, on the same system, and even in the same process. This concept is known as side-by-side execution.

    35. What are the different types of Caching?
    Answer: There are three types of Caching:

    § Output Caching: stores the responses from an asp.net page.

    § Fragment Caching: Only caches/stores the portion of page (User Control)

    § Data Caching: is Programmatic way to Cache objects for performance.

    36. What are the different types of Validation Controls?
    Answer: There are six types of validation controls available:

    § RequiredFieldValidator

    § RangeValidator

    § RegularExpressionValidator

    § CompareValidator

    § CustomValidator

    § ValidationSummary

    37. How to Manage State in ASP.Net?
    There are several ways to manage a state.

    § ViewState

    § QueryString

    § Cookies

    § Session

    § Application

    38. What base class all Web Forms inherit from?
    Answer: System.Web.UI.Page.

    39. What method do you use to explicitly kill a user’s Session?
    Answer: HttpContext.Current.Session.Abandon().

    40. What are the layouts of ASP.NET Pages?
    Answer: GridLayout and FlowLayout. GridLayout positions the form object on absolute x and y co-ordinates of the screen. FlowLayout positions the form objects relative to each other.

    41. What is the Web User Control?
    Answer: Combines existing Server and HTML controls by using VS.Net. to create functional units that encapsulate some aspects of UI. Resides in Content Files, which must be included in project in which the controls are used.

    42. What is the Composite Custom Control?
    Answer: combination of existing HTML and Server Controls.

    Tricky Questions

    1. If I’m developing an application that must accommodate multiple security levels though secure login and my ASP.NET web application is spanned across three web-servers (using round-robin load balancing) what would be the best approach to maintain login-in state for the users?
    Answer: You can use the security state maintained using a database. (Use Authentication mode as database)

    2. What’s the difference between Codebehind=”MyCode.aspx.cs” and src=”MyCode.aspx.cs” mce_src=”MyCode.aspx.cs”?
    Answer: Visual Studio uses the Codebehind attribute to distinguish the page source or programming logic from the design. Also the src attribute will make the page compile on every request. That is the page will not be compiled in advance and stored in the bin as a dll instead it will be compiled at run time.

    3. Suppose you want a certain ASP.NET function executed on MouseOver over a certain button or textbox. Where do you add an event handler?
    Answer: Every web control has a ability to add the attributes on client side which will execute on client side and run a client side script like a javascript function.
    btnSubmit.Attributes.Add(“onMouseOver”,”someClientCode();”) //For on mouse over of a button
    TextBox1.Attributes.Add(“onFocus”,“ClearText();”) //For on focus of a text box

    4. Explain what a diffgram is and a good use for one?
    Answer: The DiffGram is one of the two XML formats that you can use to render DataSet object contents to XML. For reading database data to an XML file to be sent to a Web Service.

    5. What base class do all Web Forms inherit from?
    Answer: The Page class.

    6. Name two properties common in every validation control?
    Answer: ControlToValidate and Text property.

    7. What tags do you need to add within the Datagrid tags to bind columns manually?
    Answer: Set AutoGenerateColumns Property to false on the Datagrid tag

    8. What tag do you use to add a hyperlink column to the DataGrid?
    Answer: asp:HyperLinkColumn

    9. What is the transport protocol you use to call a Web service?
    Answer: SOAP (Simple Object Access Protocol) is the preferred protocol.

    10. Where on the Internet would you look for Web services?
    Answer: http://www.uddi.org

    11. Which control would you use if you needed to make sure the values in two different controls matched?
    Answer: CompareValidator Control

    12. What are the assembly entry points? An Assembly can have how many entry points at a time?
    Answer: An assembly can have only one entry point from DllMain, WinMain or Main.

    13. What does an assembly contain?
    Answer:
    • Manifest – The metadata describing the information below.
    • Assembly name – Aids in versioning and visibility scope.
    • Version information – The version number is integrated into the assembly’s identity.
    • Types – Boundaries and scopes of methods, classes, properties, events, attributes.
    • Locale – Information describing language/culture.
    • Cryptographic Hash – Public key encoded hash acting as version/security check.
    • Security Permissions – The permissions within the assembly determine the permissions that can be granted for all aspects of the assembly contents.

    14. What does an assembly manifest contains?
    Answer: It contains assembly name, version number (major.minor.build.revision) and culture Information. It also specifies the strong name information, which is useful for shared assemblies, and list of files, an assembly contains. It also provides information for type references in an assembly and other referenced assemblies.

    15. Which tool is used to deploy an assembly, so as the assembly is available to all the application?
    Answer: The GacUtil.exe is the tool, which allows us to add any assembly to the windows GAC.

    16. How many catch statements can be associated with single try statement?
    Answer: There can be a zero or more catch statement for each try statement. So it has not limit to the number of catch statement per try statement.

    17. What is Console and System a Class/a Data Member/a routine/a namespace or a type?
    Answer: Console is a class and System is namespace.

    18. How many values can be returned from a method in C#?
    Answer: Only one value can be returned from method, however you can use ref or out variable to change more than one value in called method.

    19. How to declare a variable named this in C#, with data type string?
    Answer: string @this;

    20. Can we change the dimension of Array at run time like Array [3, 4]?
    Answer: Yes, We can change only the first position of array dimension.

    21. What keyword is used to accept a variable number of parameter in a method?
    Answer: “params” keyword is used as to accept variable number of parameters.

    22. What is a Namespace? What is the use of a namespace?
    Answer: Namespaces are logical grouping of classes and other types in hierarchical structure. Namespaces are useful to avoid collision or ambiguity among the classes and type names. Another use of the namespace is to arrange a group of classes for a specific purpose.

    23. What does a keyword using works for?
    Answer: Using is just a convention or a short-cut method which allows us to access the classes in a namespace by referencing it once. So when ever we want use the classes or methods in them, we can avoid typing the entire namespace hierarchy. However it is not a good practice when there are likely chances to have name ambiguity or collision of class names.

    24. What is Enums in C#?
    Answer: Enums or Enumerators are used to declare a set of related constants (default start with 0); they are only available with primitive data types like int and short etc.

    25. What is Delegates?
    Answer: Delegates are a type-safe, object-oriented implementation of function pointers and are used in many situations where a component needs to call back to the component that is using it. Delegates are generally used as basis of events, which allow any delegate to easily be registered for as event.

    26. Which are the namespaces that are imported automatically by Visual Studio in ASP.Net?
    Answer: There are 7 namespaces which are imported automatically.

    § System

    § System.Collections

    § System.IO

    § System.web

    § System.web.UI

    § System.web.UI.HTMLControls

    § System.web.UI.WebControls

    27. Which namespaces are used for data access?

    § System.Data

    § System.Data.OleDB

    § System.Data.SQLClient

    28. What do you mean by boxing and un-boxing?
    Answer: C# provides us with Value types and Reference Types. Value Types are stored on the stack and Reference types are stored on the heap. The conversion of value type to reference type is known as boxing and converting reference type back to the value type is known as un-boxing.
    e.g.
    int x = 10;
    object o = x ; // Implicit boxing
    object o = (object) x; // Explicit Boxing
    x = o; // Implicit Un-Boxing
    x = (int)o; // Explicit Un-Boxing

    29. What are the different methods available under sqlcommand class to access the data?

    § ExecuteReader –Used where one or more records are returned – SELECT Query.

    § ExecuteNonQuery – Used where it affects a state of the table and no data is being queried – INSERT, UPDATE, DELETE, CREATE and SET queries.

    § ExecuteScalar – Used where it returns a single record(a single value normally) – SQL Functions like MIN(), NAX()

    30. What are the different types of Session state management options available with ASP.NET?
    Answer: ASP.NET provides In-Process & Out-of-Process state management,
    Also known as “In-Proc” and “Out-Proc”. In-Proc stores the session in memory of the web server, that is on the same server the ASP.Net page is.
    On the other hand Out-Proc session state management stores the session data on external data source, which can be a SQL Server or Server State Service. Out-of-Process state management requires the objects stored in session, must be serializable.

    31. What is Remoting? Give Example.
    Answer: Remoting is a means by which one operating system process, or program, can communicate with another process. The two processes can exist on the same computer or on two computers connected by a LAN or the Internet. Web services are probably the best known type of remoting, but they are not the only option.

    32. What is Marshalling?
    Answer: Marshaling is a process of making an object in one process (the server) available to another process (the client). There are two ways to achieve the marshalling.

    i. Marshal by value: the server creates a copy of the object passes the copy to the client. When a client makes a call to an object marshaled by value (MBV), the server creates an exact copy and sends that copy to the client. The client can then use the object’s data and executable functionality directly within its own process or application domain without making additional calls to the server. Objects that the application accesses frequently are best remoted using MBV.

    ii. Marshal by reference: the client creates a proxy for the object and then uses the proxy to access the object. When a client makes a call to an object marshaled by reference (MBR), the .NET framework creates a proxy in the client’s application domain and the client uses that proxy to access the original object on the server. Large objects that the application accesses relatively infrequently are good candidates for MBR.

    33. What is a Static class? What are its features?
    Answer: Static class is a class which can be used or accessed without creating an instance of the class.
    Important Features:

    i. Static class only contains static members and a private constructor.

    ii. Static class cannot be instantiated.

    iii. Static classes are sealed by default and therefore cannot be inherited.

    34. What is sealed class? What are its features?
    Answer: Sealed classes are those classes which can not be inherited and thus any sealed class member can not be derived in any other class. A sealed class cannot also be an abstract class.
    In C# structs are implicitly sealed; therefore, they cannot be inherited.

    35. Can we declare a method as sealed?
    Answer: In C# a method can’t be declared as sealed. However when we override a method in a derived class, we can declare the overridden method as sealed. By declaring it as sealed, we can avoid further overriding of this method.
    E.g.
    using System;
    class MyClass1
    {
    public int x;
    public int y;
    public virtual void Method() {
    Console.WriteLine(“virtual method”); }
    }
    class MyClass : MyClass1
    {
    public override sealed void Method() {
    Console.WriteLine(“sealed method”); }
    }
    class MainClass
    { public static void Main() {
    MyClass1 mC = new MyClass();
    mC.x = 110;
    mC.y = 150;
    Console.WriteLine(“x = {0}, y = {1}”, mC.x, mC.y);
    mC.Method(); }
    }

    36. What is a DataSet ?
    Answer: A DataSet is an in memory representation of data loaded from any data source.

    37. What is a DataTable?
    Answer: A DataTable is a class in .NET Framework and in simple words a DataTable object represents a table from a database.

    38. If you want to view an Assembly how to you go about it? What is ILDASM?
    Answer: You can use the MSIL Disassembler (Ildasm.exe) to view Microsoft intermediate language (MSIL) information in a file. If the file being examined is an assembly, this information can include the assembly’s attributes, as well as references to other modules and assemblies. This information can be helpful in determining whether a file is an assembly or part of an assembly, and whether the file has references to other modules or assemblies.

    39. Where is version information stored of an assembly?
    Answer: The version number is stored in the assembly manifest along with other identity information, including the assembly name and public key, as well as information on relationships and identities of other assemblies connected with the application.

    40. Is versioning applicable to private assemblies?
    Answer: No

    41. How to create a shared assembly or add an assembly to GAC?
    Answer: There are several ways an assembly can be added to GAC.

    i. Use .msi installer designed to work with the global assembly cache.

    ii. Use GACUtil.exe provided by the .NET Framework SDK.

    iii. Use Windows Explorer to drag assemblies into the cache.

    42. What is strong Name?
    Answer:

    43. What is reflection?
    Answer: All .NET compilers produce metadata about the types defined in the modules they produce. This metadata is packaged along with the module (modules in turn are packaged together in assemblies), and can be accessed by a mechanism called reflection. The System.Reflection namespace contains classes that can be used to interrogate the types for a module/assembly. Reflection is ability to find information about types contained in an assembly at run time.

    44. How can I produce an assembly?
    Answer: Simply compile your class/module with the following command.
    C#.Net – CSC /t:library yourclassname.cs
    VB.Net – VBC /t:library yourmodulename.vb

    45. What is an Application Domain? How they get created?
    Answer: An Application Domain can be thought of as a lightweight processes controlled by the .Net runtime. Application Domains are usually created by hosts like Windows Shell, ASP.NET and IE. When you run a .NET application from the command-line, the host is the Shell. The Shell creates a new Application Domain for every application.

    46. Do I have any control over the garbage collection algorithm?
    Answer: Yes, we have a limited control over the GC algorithm, For example, the System.GC class exposes a Collect method – this forces the garbage collector to collect all unreferenced objects immediately.

    47. What is a life span of a static variable?
    Answer: A static variable’s life span is till the class is in memory.

    48. What is a Page Life Cycle of an ASP.Net page?
    Answer: There are various stages described as under.

    § Init

    § LoadViewState

    § LoadPostBackData

    § Load

    § RaisePostBackDataChangedEvent

    § RaisePostBackEvents

    § Pre-Render

    § SaveViewState

    § Render

    § Unload

    49. Can the action attribute of a server-side <form>tag be set to a value and if not how can you possibly pass data from a form to a subsequent Page?
    Answer: No, Assigning value will not work because will be overwritten at the time of rendering. We can assign value to it by register a startup script which will set the action value of form on client-side. On other hand we can use Server.Transfer or Response.Redirect.

    50. How do you turn off cookies in one page of your asp.net application?
    Answer: We may not use them at the max, However to allow the cookies or not, is client side functionality.

    51. Which method do you use to redirect to user to another page without performing a round trip to Client?
    Answer: Server.Transfer(“AnotherPage.aspx”).

    52. How many namespaces are in .NET version 1.1?
    Answer: 124.

    53. Should Validation occur on Client/Server Side for Date Input?
    Answer: Both. Client-side reduces extra round-trip. Server-Side ensures prevention against hacking and failure against automated requests.

    54. What are the web form events?
    Answer:

    i. The first event that occurs in the life of a Web Form is the Init event. This is raised so that we can have initialization code for the page. The controls on the page are not yet created at this point. This event is raised once for each user of the page.

    ii. The Load event follows the Init event. Subsequently, it is raised each time the page is requested. When this event is raised, all child controls of the Web Form are loaded and accessible. You should be able to retrieve data and populate the controls so that they can render themselves on the page when sent back to the client.

    iii. The PreRender event happens just before the page is rendered and sent back to the client. We don’t often handle this event; however, it depends on the situation.

    iv. The last event in the life of a Web Form is the Unload event. This happens when the page is unloaded from memory. Final cleanup should be done here.

    • OOPS

    1. What is a class?
    Answer: Class is concrete representation of an entity. It represents a group of objects, which hold similar attributes and behavior. It provides Abstraction and Encapsulations.

    2. What is an Object? What is Object Oriented Programming?
    Answer: Object represents/resembles a Physical/real entity. An object is simply something you can give a name. Object Oriented Programming is a Style of programming that represents a program as a system of objects and enables code-reuse.

    3. What is Encapsulation?
    Encapsulation is binding of attributes and behaviors. Hiding the actual implementation and exposing the functionality of any object. Encapsulation is the first step towards OOPS, is the procedure of covering up of data and functions into a single unit (called class). Its main aim is to protect the data from out side world.

    4. What is Abstraction?
    Answer: Hiding the complexity. It is a process of defining communication interface for the functionality and hiding rest of the things.

    5. What is Overloading?
    Answer: Adding a new method with the same name in same/derived class but with different number/types of parameters. It implements Polymorphism.

    6. What is Overriding?
    Answer: A process of creating different implementation of a method having a same name as base class, in a derived class. It implements Inheritance.

    7. What is Shadowing?
    Answer: When the method is defined as Final/sealed in base class and not override able and we need to provide different implementation for the same. This process is known as shadowing, uses shadows/new keyword.

    8. What is Inheritance?
    Answer: It is a process of acquiring attributes and behaviors from another object (normally a class or interface).

    9. What is an Abstract class?
    Answer: An abstract class is a special kind of class that cannot be instantiated. It normally contains one or more abstract methods or abstract properties. It provides body to a class.

    10. What is an Interface?
    Answer: An interface has no implementation; it only has the signature or in other words, just the definition of the methods without the body.

    11. What is Polymorphism?
    Answer: Mean by more than one form. Ability to provide different implementation based on different number/type of parameters.

    12. What is Pure-Polymorphism?
    Answer: When a method is declared as abstract/virtual method in a base class and which is overridden in a base class. If we create a variable of a type of a base class and assign an object of a derived class to it, it will be decided at a run time, which implementation of a method is to be called.
    This is known as Pure-Polymorphism or Late-Binding.

    13. What is a Constructor?
    Answer: A special Method Always called whenever an instance of the class is created.

    14. What is a Destructor?
    Answer: A special method called by GC. just before object is being reclaimed by GC.

    15. How a base class method is hidden?
    Answer: Hiding a base class method by declaring a method in derived class with keyword new. This will override the base class method and old method will be suppressed.

    16. What Command is used to implement properties in C#?
    Answer: get & set access modifiers are used to implement properties in c#.

    17. What is method overloading?
    Answer: Method overloading is having methods with same name but carrying different signature, this is useful when you want a method to behave differently depending upon a data passed to it.

    18. Can constructors have parameters?

    19. What are Static Assembly and Dynamic Assembly?
    Answer: Static assemblies can include .NET Framework types (interfaces and classes) as well as resources for the assembly (bitmaps, JPEG files, resource files, and so forth). Static assemblies are stored on disk. Dynamic assemblies run directly from memory and are not saved to disk before execution.

    20. Describe the functionality of an assembly.
    Answer: It is the smallest unit that has version control. All types and resources in the same assembly are versioned as a unit and support side by side execution. Assemblies contain the metadata and other identities which allow the common language runtime to execute. They are the boundaries providing the type check. They the unit where security permissions are requested and granted.

    21. What is serialization?
    Answer: Serialization is the process of converting an object into a stream of bytes. De-serialization is the opposite process of creating an object from a stream of bytes. Serialization/De-serialization is mostly used to transport objects (e.g. during remoting), or to persist objects (e.g. to a file or database). There are two separate mechanisms provided by the .NET class library for serialization – XmlSerializer and SoapFormatter and BinaryFormatter. Microsoft uses XmlSerializer for Web Services, and uses SoapFormatter/BinaryFormatter for remoting.

    •  SQL: Queries

    1. Write a query to select the second highest salary from a table.
    Answer: SELECT max(salary) AS salary2 FROM orders WHERE salary < (SELECT max(salary) AS salary1 FROM orders)

    2. Write a query to select the 5th highest salary from a table.
    Answer: SELECT min(salary) AS high5 FROM employee WHERE salary IN(SELECT DISTINCT TOP 5 salary FROM orders ORDER BY salary DESC)

    3. How to find duplicate records with the number they are duplicated?
    Answer: SELECT Id, count (*) as number_records from table group by id having count (*) > 1.

    • SQL: Questions

    1. What is the difference between Delete and Truncate command in SQL?
    Answer: Delete command and truncate command both will delete the data, however the truncate command can not be rolled back as delete can be. The delete command can be used for selected records using the where clause but with the truncate command we have to loose data. DELETE statement is a logged operation and hence takes more time then truncate.

    2. What is Magic Table in SQL?
    Answer: The insert and Delete commands are known as magic tables in SQL.

    3. Can Primary key is a Foreign Key on the same table?
    Answer: Yes, Consider a category table in a e-commerce web site.
    Category_Id, Category_Name, Parent_Category_ID. In this table all the parent categories are also categories. When we create a self join category id will be treated as foreign key to the same table.

    4. What is Normalization? What are it’s rules?
    Answer: Normalisation is the technique in the database design wher ethe idea is to reduce the redundancy of non key data items across the table.

    § Rule 1: There should be a one-to-one relationship between the instances of an entity and the rows of the table.

    § Rule 2: A field should have the same meaning in each row of the table.

    § Rule 3: Each table should represent at most one entity.

    § Rule 4: Multiple instances of an entity should be represented by multiple rows in a table.

    § Rule 5: Joins should be based only on primary and foreign-key equality.

    § Rule 6: Make sure keys are linked correctly.

    5. What are the advantages and disadvantages of Normalization?
    Answer: There are several advantages of normalization as under:

    § Faster sorting and index creation.

    § A larger number of clustered indexes.

    § Narrower and more compact indexes.

    § Fewer indexes per table, which improves the performance of INSERT, UPDATE, and DELETE statements

    § Fewer null values and less opportunity for inconsistency, which increase database compactness.
    Beside the above benefits there are few disadvantages as well:

    § Increased amount of Normalization increases the amount of complexity of joins between tables and that hinders the performance.

    6. What are the conditions to achieve the normalization?
    Answer: There are few conditions to achieve the normalization:

    § There should be a unique row identifier.

    § A table should store only data for a single type of entity. For e.g. details for book’s publisher and book’s author should be saved under different table.

    § A table should avoid columns which can be null-able.

    § A table should avoid duplication of data and columns.

    7. What is a Stored Procedure? State its advantage.
    Answer: A stored procedure is a set of pre-compiled SQL commands (query statements), which are stored in the server. It is faster then the loose SQL statements processed on client, as it is pre-compiled. It can execute more then one SQL commands once as they are bundled in a single entity. We can use control statements within the stored procedure, which will allow us to repeat some SQL command. It can send return values depending upon the result. Stored procedures are used to reduce network traffic.

    8. What is a Trigger?
    Answer: Triggers are a special type of stored procedure, which gets invoked upon a certain event. They can be performed upon an INSERT, UPDATE and DELETE.

    9. What is a Clustered Index?
    Answer: The data rows are stored in order based on the clustered index key. Data stored is in a sequence of the index. In a clustered index, the physical order of the rows in the table is the same as the logical (indexed) order of the key values. A table can contain only one clustered index. A clustered index usually provides faster access to data than does a non-clustered index

    10. What is a Non-Clustered Index?
    Answer: The data rows are not stored in any particular order, and there is no particular order to the sequence of the data pages. In a non-clustered index, the physical order of the rows in the table is not same as the logical (indexed) order of the key values.

    11. Describe the three levels of data abstraction?
    The are three levels of abstraction:

    § Physical level: The lowest level of abstraction describes how data are stored.

    § Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data.

    § View level: The highest level of abstraction describes only part of entire database.

    12. What is DDL (Data Definition Language)?
    Answer: A data base schema which is specified by a set of definitions expressed by a special language is called DDL. Data Definition Language (DDL) is used to define and manage all the objects in an SQL database.

    13. What is DML?
    Answer: It is a special language used to manipulate the Data. Data Manipulation Language (DML), which is used to select, insert, update, and delete data in the objects defined using DDL.

    14. What is a PRIMARY KEY?
    Answer: The PRIMARY KEY is the column(s) used to uniquely identify each row of a table.

    15. What is a FOREIGN KEY?
    Answer: A FOREIGN KEY is one or more columns whose values are based on the PRIMARY or CANDITATE KEY values from the database.

    16. What is a UNIQUE KEY?
    Answer: A UNIQUE KEY is one or more columns that must be unique for each row of the table.

    17. What is the difference between UNIQUE and PRIMARY KEY?
    Answer: The UNIQUE KEY column restricts entry of duplicate values but entry of NULL value is allowed. In case of PRIMARY KEY columns entry of duplicate as well as <NULL> value is also restricted.

    18. What is a VIEW?
    Answer: A View is a database object that is a logical representation of a table. It is derived from a table but has no storage space of its own and often may be used in the same manner as a table.

    19. What is a ROWID?
    Answer: ROWID is the logical address of a row, and it is unique within the database.

    20. What is INDEX?
    Answer: INDEX is a general term for an SQL feature used primarily to speed up execution and impose UNIQUENESS upon data. You can use an index to gain fast access to specific information in a database table. An index is a structure that orders the values of one or more columns in a database table. The index provides pointers to the data values stored in specified columns of the table, and then orders those pointers according to the sort order you specify.

    21. What is a cursor?
    Answer: An entity that maps over a result set and establishes a position on a single row within the result set. After the cursor is positioned on a row, operations can be performed on that row, or on a block of rows starting at that position. The most common operation is to fetch (retrieve) the current row or block of rows.

    22. The Difference between ‘Count’ and ‘Count (*)’?
    Answer: ‘Count’: Counts the number of non-null values. ‘Count (*)’: Counts the number of rows in the table, including null values and duplicates.

    Export excel sheet data from dataset in ASP.NET

    Environment :

                    

      • ASP.NET 1.1v
      • Visual C#
      • SQL Server2000
      • MS Excel2003
      • Microsoft Visual Studio2003

    1. Create one webapplication using visual studio.

    2. Just put the button text as “Exports to Excel” in webform1.aspx.

    excel

    3.  Use the following namespaces for this application

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    4. In button(Exports to Excel) click event

    SqlConnection conn            =    new SqlConnection(ConfigurationSettings.AppSettings["PubsConnection"]);
                    SqlCommand    cmd            =    new SqlCommand(“select * from authors”, conn);
                    SqlDataAdapter da            =    new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                try
                {
                da.Fill(ds);
                }
                catch(Exception ex)
                   {
                    System.Diagnostics.Trace.WriteLine(ex.Message);
                    throw ex;
                }
                finally
                {
                    conn.Close();            }
                DataSetToExcel.Convert(ds, Response);
            }            }

    5. Create required class name as  “DataSetToExcel”

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.IO;namespace ExcelUtility
    {
        /// <summary>
        /// Summary description for DataSetToExcel.
        /// </summary>
        public class DataSetToExcel
        {
            public DataSetToExcel()
            {
                //
                // TODO: Add constructor logic here
                //
            }    }
    }

    6. In DataSetToExcel class create the method  name as called “Convert”

    Convert method used for transfering dataset data to excel sheet and this method have requires two parameters are ‘dataset’ and ‘Httpresponse’.

    public static void  Convert( DataSet ds, HttpResponse Response)
            {
                Response.Clear();
                Response.Charset=”";
                Response.ContentType=”application/vnd.ms-excel”;   
                System.IO.StringWriter  stringWrite=new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter  htmlWrite=new System.Web.UI.HtmlTextWriter(stringWrite) ;
                System.Web.UI.WebControls.DataGrid dg=new System.Web.UI.WebControls.DataGrid();
                dg.DataSource=ds.Tables[0];
                dg.DataBind();
                dg.RenderControl(htmlWrite);
                Response.Write(stringWrite.ToString());
                Response.End();
            }

    Now the class with convert method.

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.IO;namespace ExcelUtility
    {
        /// <summary>
        /// Summary description for DataSetToExcel.
        /// </summary>
        public class DataSetToExcel
        {
            public DataSetToExcel()
            {
                //
                // TODO: Add constructor logic here
                //
            }       public static void  Convert( DataSet ds, HttpResponse Response)
            {
                Response.Clear();
                Response.Charset=”";
                Response.ContentType=”application/vnd.ms-excel”;   
                System.IO.StringWriter  stringWrite=new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter  htmlWrite=new System.Web.UI.HtmlTextWriter(stringWrite) ;
                System.Web.UI.WebControls.DataGrid dg=new System.Web.UI.WebControls.DataGrid();
                dg.DataSource=ds.Tables[0];
                dg.DataBind();
                dg.RenderControl(htmlWrite);
                Response.Write(stringWrite.ToString());
                Response.End();
            }

        }
    }

    after builded the solution run the project. Click the exports to excel button, new ‘file download dialog box’ will appear in front of the screen.

    FileDisplay

    If you click open, the excel sheet embed with browser.

    EmbedExcel

    Otherwise you can save excel sheet file to your local system using click the save button.