DEVELOPING A PHD MONITORING TOOL USING ASP.NET AND SQL SERVER. A Report Submitted In Partial Fulfillment Of Course BITS C331 Computer Oriented Project By DUSHYANT ARORA UTTAM MITRA ID: 2006A7PS083P ID:2006A7PS305P Project Instructor Mrs. Sunita Bansal Lecturer Computer Science Group Birla Institute of Technology and Science, Pilani Birla Institute of Technology & Science, Pilani, Rajasthan 333031 November, 2009 1
ACKNOWLEDGEMENT We are extremely grateful to our director Dr L.K. Maheshwari, Birla Institute of Technology and Science for introducing projects in our course structure. We would like to express my sincere regards to Prof. R.K Mittal, instructor in charge, computer projects for providing us with an opportunity to do our computer oriented project at the institute. We would like to express our special gratitude to my instructor Mrs. Sunita Bansal, Lecturer, computer science group, without whose concern, patience and constant encouragement, the accomplishment of this work would have been impossible for us. With her kind support,we learned the value of effective time management. Her invaluable suggestions during each discussion helped us improve a lot. 2
TABLE OF CONTENTS 1. ACKNOWLEDGEMENT 2 2. ASP.NET 4 3. CRYSTAL REPORTS 6 4. STRUCTURE OF PHD MONITORING TOOL 7 5. SCREENSHOTS 10 3
ASP.NET ASP.NET is a powerful and flexible technology for creating dynamic Web pages. It's a convergence of two major Microsoft technologies, Active Server Pages (ASP) and the.net Framework. ASP (or classic ASP as it's often referred to), is a relative old-timer on the Web computing circuit and has provided a sturdy, powerful, and effective way of building dynamic Web pages for seven years or so now. The.NET Framework, on the other hand, is a whole suite of technologies designed by Microsoft with the aim of revolutionizing the way in which all programming development takes place and the way companies carry out business. ASP.NET is a way of creating dynamic Web pages while making use of the innovations present in the.net Framework. ASP.NET allows us to build dynamic Web pages and tailors the HTML output to the browser we are using. It also comes with a great set of reusable, predefined, and ready to use controls for your ASP.NET projects. These reduce the amount of code we have to write, so we can be more productive while programming. One of the most eye-catching things about ASP.NET is the way we can use any programming language based on the.net Framework, such as VB.NET, JScript.NET, or C# to create our Web applications. Within these applications, ASP.NET allows you to customize pages for a particular user, and makes it simpler to keep track of a particular user's details as they move around. ADO.NET All of the data access is based upon ADO.NET the common name for all of the data access classes. Connection: to provide the details of connecting to the database Command: to provide the details of the command to be run DataAdapter: to manage the command, and fetch and update data DataSet: to provide a store for the data DataReader: to provide quick read-only access to data ADO.NET is designed to talk to multiple databases, so there are different objects for different database types. To keep the separation, ADO.NET classes are contained within different namespaces: System.Data, which contains the base data objects (such as DataSet) common to all databases. System.Data.OleDb, which contains the objects used to communicate to databases via OLEDB. OLEDB provides a common set of features to connect to multiple databases, such as Access, DBase, and so on. System.Data.SqlClient, which provides the objects used to communicate with SQL Server. For some of the objects there are two copies one in the OleDb namespace, and one in the SqlClient namespace. For example, there are two Connection objects OleDbConnection 4
and SqlConnection.Having two objects means they can be optimized for particular databases. The DataAdapter contains four Command objects: Select Command, which fetches data. UpdateCommand, which updates data InsertCommand, which inserts new data. DeleteCommand, which deletes data Each of these Command objects has a Connection property to specify which database the command applies to, a CommandText property to specify the command text to run, and a CommandType property to indicate the type of command (straight SQL or a stored procedure). If one doesn't explicitly create Command objects and use the DataAdapter directly, a Command is created for using the details passed into the constructor of the DataAdapter, and this Command is used as the SelectCommand. 5
CRYSTAL REPORTS Crystal Reports is the standard reporting tool for Visual Studio.NET used to display data of presentation quality. One can display multiple-level totals, charts to analyze data, and much more in Crystal Reports. Creating a Crystal Report requires minimal coding since it is created in Designer interface. Crystal Reports brings the ability to create interactive, presentation-quality content to the Windows environment. With Crystal Reports one can create complex and professional reports in a GUI-based program. Reports can be connected to almost any database source, as well as to proxy data, such as a result set. With the wizards included in the GUI designer, one can easily set formatting, grouping, charting, and other criteria. Implementation method Crystal Reports need database drivers to connect to the data source for accessing data. Crystal Reports in.net support two methods to access data from a data source: The Pull Method When this model is used to access data from the data source, the database driver directly retrieves the data from the data source. This model does not require the developer to write code for creating a connection and retrieving data from the data source. It is the Crystal report that manages the SQL commands for connecting by using the specified driver. The Push Method When this model is used to access data from data source, the developer writes the code to connect to the data source and retrieve data. The data from the data source is cached in dataset and multiple crystal reports accesses data from the dataset. The performance can be optimized in this manner by using connection sharing and manually limiting the number of records that are passed on to the report. 6
Structure of PHD MONITORING TOOL In this project we have developed a PhD monitoring tool which will help to maintain a database of PhD students and their mentors. We have used web forms created using ASP.NET for the efficient utilization of this tool.. This tool will replace the old inefficient implementation which was done using Microsoft Access. We have the home page in which there are two links for: PhD Student Database PhD Supervisor Database PhD Student Database This link leads us to a webpage that displays the Student data like ID Number, Student name, Student Email, Supervisor name, Supervisor email,mentor name, DAC Member1and DACMember2. In this page we also have buttons using which we can traverse through all the Student records. We also have the following buttons: Add: This takes us to the web page where we can add a new Student s information to the database. After the record is added, a message is displayed informing us that the record is added successfully. Edit : This takes us to the web page where we can edit all the information about a Student stored in the database and finally save the new data. Delete: Through this we can delete all the information about a Student. Search: This takes us to the web page where we can search any Student by either name or id. The page displays all the records which match the search field entered. When a particular record is clicked,we go to the page displaying information about that student. View Detailed Info: This takes us to the web page where we can see all the detailed information about a particular student like Student ID, category, group, organization, postal address and remarks. PhD Supervisor Database: This web page displays the Supervisor data like Supervisor name, Supervisor Email, total students and Supervisor address. 7
In this page we also have buttons using which we can traverse through all the Supervisor records. We also have the following buttons: Add: This takes us to the web page where we can add a new supervisor s information to the database.after the record is added,a message is displayed informing us that the record is added successfully. Edit : This takes us to the web page where we can edit all the information about a supervisor stored in the database and finally save the new data. Delete: Through this we can delete all the information about a supervisor. Search: This takes us to the web page where we can search any supervisor by either name or id. The page displays all the records which match the search field entered. When a particular record is clicked,we go to the page displaying information about that supervisor. Show/hide student details: This button on being clicked displays all the students working under the particular supervisor.when a particular record is clicked,we go to the page displaying information about that student. We have created crystal reports for the following: Category wise reports: Aspirant, DLPD aspirant, Faculty-off campus, Faculty-on campus and Full time scholar are the reports generated under this category. The reports contain the following information: Aspirant: Student ID No, Student Name, Student Email, Category, Group, Organization, Term End, Registration Status, Topic approved, Title approved, Pre submission Seminar Done, Progress, Student Postal Address, Supervisor name, Supervisor email, Supervisor postal address, Mentor, DAC Member1,DAC Member2,Remarks. DLPD aspirant : Student ID No, Student Name, Student Email, Category, Group, Organization, Term End, Registration Status, Topic approved, Title approved, Pre submission Seminar Done, Progress, Student Postal Address, Supervisor name, Supervisor email, Supervisor postal address, Mentor, DAC Member1,DAC Member2,Remarks. Faculty-off campus : Student ID No, Student Name, Student Email, Category, Group, Organization, Term End, Registration Status, Topic approved, Title approved, Pre submission Seminar Done, Progress, Student Postal Address, Supervisor name, Supervisor email, Supervisor postal address, Mentor, DAC Member1,DAC Member2,Remarks. Faculty-on campus : Student ID No, Student Name, Student Email, Category, Group, Organization, Term End, Registration Status, Topic approved, Title approved, Pre submission Seminar Done, Progress, Student Postal Address, 8
Supervisor name, Supervisor email, Supervisor postal address, Mentor, DAC Member1,DAC Member2,Remarks. Full time scholar : Student ID No, Student Name, Student Email, Category, Group, Organization, Term End, Registration Status, Topic approved, Title approved, Pre submission Seminar Done, Progress, Student Postal Address, Supervisor name, Supervisor email, Supervisor postal address, Mentor, DAC Member1,DAC Member2,Remarks. Progress reports: This takes us to the page where depending on user s choice report is generated for Normal students or CCM students. The reports contain the following information: Normal students: ID No, Student name, Remarks CCM students: ID No, Student name, Remarks Address reports: This takes us to the page where depending on user s choice report is generated for PhD student supervisor postal address or PhD student postal address. The reports contain the following information: PhD student supervisor postal address: Student postal address, Supervisor postal address PhD student postal address: Student postal address PhD student reports : This takes us to the page where depending on user s choice report is generated for PhD student List with supervisor, DAC member list, PhD student list, Off-campus student list or Discipline wise count for students. The reports contain the following information: PhD student List with supervisor: ID No, Student name, Student email, Supervisor name, Supervisor email DAC member list: ID No, Student name, Student email, Supervisor name, DAC Member1, DAC Member2, Topic PhD student list: Student ID No, Student name Off-campus student list: Student ID No, Student name Discipline wise count for students: Group, Count 9
Screenshots 10