Sunteți pe pagina 1din 45

TEXTILE CHALLENGES CUSTOMIZATION & INNOVATION

ABSTRACT

The project entitles “Textile Challenges Customization & Innovation”. This


provides complete information regarding the purchase of yarn processing, sales of finished
goods and stock details maintained by the textiles. This package is originated using front
end Windows Application coding VB.Net with SQL Server 2008.

This project maintains the yarn purchase, stock maintenance of various varieties
of yarn in count wise. The processing of yarn through various production departments
such as sizing, bleaching and the sales module consist of the sales information about
fabric.

The system provides an attractive and easy to handle user interface which follows
windows standards. Considerations have been given at the design and development stages
of the package in order to ensure data integrity and security. It is highly user friendly. No
deep knowledge of computers is required to operate this system.

Functions such as data entry addition, deletion, modification, navigation etc.,


have been made simpler and interactive. The system is fully modular in design and
protected from unauthorized access.

Reports are generated at various stages to monitor the production department,


order details Reports are generated using crystal Reports. Visual Basic.NET. Is used as the
front-end tool and SQL Server is used as the back-end tool.
Modules Description

1. Login Details
2. Product Details
3. Purchase Details
3.1 purchase entry
3.2 purchase return
4. Sales Details
4.1Sales entry
4.2 Sales return
5. Stock Details
5.1 available stock
6. Employee Details
6.1 personal details
6.2 attendance
6.3 salary
7. Billing Details

Login Module:
Introduction: Authorized users are allowed to access.
Input: User enters the User type, Username and password.
Process Definition: Checks User type, Username and password is valid or not.
Output: User is directed to next page or shows the message box “Login Failed”.

Product Module:
Input: Product ID, Product name, date
Process Definition: A new type of product is added which includes the product id, name,
price for the product. Also the details can be edited if necessary only by the admin.
Output: A new product added in the stock
Purchase Module:
Input: product name, rate etc..
Process Definition: A new type of product is added which includes the name purchase for
product and the rate. Also the details can be edited if necessary only by the admin. Along
with this any of the details can easily be deleted by him.
Output: A new product and a rate is added to the system.

Stock module:
Input: Stock no, name, contact, product name, stuffing’s, quantity
Process Definition: Here the product stock information has stored in the system and a
unique stock number will be generated from the software.
Output: A separate stock report has generated for the user from the database

Sales module:
Input: Order no
Process Definition: On the day of delivery, as soon as the customer produces the bill of
order and his unique order number, the user checks in the system whether that order
number and order is available or not. If so he will pass the bill of order to the production
counter.
Output: As soon as this procedure is done, ticket can be generated. All the information is
saved in the database including the ticket no.

Employee Module:
Input: Employee’s ID, Emp Name, Designation, Joining Date,address
Process Definition: Add the New Employee and Checks same employee ID and password
exists or not and also checks whether all the fields are entered.
Output: Employee is directed to next page or shows the message box “Login Failed”.

Bill Module:
Input: Bill id, Product id, Product Name, cost, Quantity
Process Definition: On the day of sales, as soon as the customer produces the bill of
product and his unique bill number, the user checks in the system whether that bill number
. If so he will pass the bill of sales to the delivery counter.
Output: Generate the Bill for the customer
SYSTEM SPECIFICATION
HARDWARE SPECIFICATION
PROCESSOR : Intel Pentium Dual Core 1.8 GHz

MOTHERBOARD : Intel 915GVSR chipset board

RAM : 2 GB DDR3 RAM

HARD DISK DRIVE : 500 GB HDD

MONITOR : 15”COLOR MONITOR

SOFTWARE SPECIFICATION
DEVELOPMENT : WINDOWS 7 / 10

ENVIRONMENT

FRAMEWORK : .NET FRAMEWORK 4.5

DEVELOPMENT TOOL : VISUALSTUDIO 2012

FRONT END : VB.NET

CODING LANGUAGE : VB.NET

CONNECTVITY TOOL : ADO.NET

BACK END : SQL SERVER 2008

REPORT : CRYSTAL REPORT

DOCUMENTATION : MICROSOFT WORD 2007


EXISTING SYSTEM
The system, which is followed at present, is a manual system. Important drawback of
existing system is time factor. It will not help the management to solve the problem in
time
Drawbacks of Existing Methods
 Search Complexity
 Manual work
 Security of information is low
 A lot of time consumed.
 Need lots of manpower.
 Frequently occurs of error.
 Calculations are difficult.
 Lack of Information.

PROPOSED SYSTEM

 The drawbacks, which are faced during existing system, can be eradicated by using
the proposed system. The main objective of the existing system is to provide a
electronic user-friendly interface.
 The system, which is proposed, now computerizes all the details that are maintained
manually. Once the details are fed into the computer there is no need for various
persons to deal with separate sections.
 Only a single person is enough to maintain all the reports.

Futures

 Large volumes of data can be stored with case


 Security is assured.
 Maintenance of file is flexible.
 Records stored are updated now and then.
 Stored data and procedures can be easily edited.
 Reports can be generated with case.
 Accurate calculations are made.
 Less manpower required.
Visual Basic .NET

Visual Basic .NET provides the easiest, most productive language and tool for rapidly
building Windows and Web applications. Visual Basic .NET comes with enhanced visual
designers, increased application performance, and a powerful integrated development
environment (IDE). It also supports creation of applications for wireless, Internet-enabled
hand-held devices. The following are the features of Visual Basic .NET with .NET
Framework 1.0 and Visual Basic .NET 2003 with .NET Framework 1.1. This also answers
why should I use Visual Basic .NET, what can I do with it?

Powerful Windows-based Applications

Visual Basic .NET comes with features such as a powerful new forms designer, an in-
place menu editor, and automatic control anchoring and docking. Visual Basic .NET delivers
new productivity features for building more robust applications easily and quickly. With an
improved integrated development environment (IDE) and a significantly reduced startup
time, Visual Basic .NET offers fast, automatic formatting of code as you type, improved
IntelliSense, an enhanced object browser and XML designer, and much more.

Building Web-based Applications

With Visual Basic .NET we can create Web applications using the shared Web Forms
Designer and the familiar "drag and drop" feature. You can double-click and write code to
respond to events. Visual Basic .NET 2003 comes with an enhanced HTML Editor for
working with complex Web pages. We can also use IntelliSense technology and tag
completion, or choose the WYSIWYG editor for visual authoring of interactive Web
applications.

Simplified Deployment

With Visual Basic .NET we can build applications more rapidly and deploy and
maintain them with efficiency. Visual Basic .NET 2003 and .NET Framework 1.1 makes
"DLL Hell" a thing of the past. Side-by-side versioning enables multiple versions of the same
component to live safely on the same machine so that applications can use a specific version
of a component. XCOPY-deployment and Web auto-download of Windows-based
applications combine the simplicity of Web page deployment and maintenance with the
power of rich, responsive Windows-based applications.

Powerful, Flexible, Simplified Data Access

You can tackle any data access scenario easily with ADO.NET and ADO data access.
The flexibility of ADO.NET enables data binding to any database, as well as classes,
collections, and arrays, and provides true XML representation of data. Seamless access to
ADO enables simple data access for connected data binding scenarios. Using ADO.NET,
Visual Basic .NET can gain high-speed access to MS SQL Server, Oracle, DB2, Microsoft
Access, and more.

Improved Coding

You can code faster and more effectively. A multitude of enhancements to the code
editor, including enhanced IntelliSense, smart listing of code for greater readability and a
background compiler for real-time notification of syntax errors transforms into a rapid
application development (RAD) coding machine.

Direct Access to the Platform

Visual Basic developers can have full access to the capabilities available in .NET
Framework 1.1. Developers can easily program system services including the event log,
performance counters and file system. The new Windows Service project template enables to
build real Microsoft Windows NT Services. Programming against Windows Services and
creating new Windows Services is not available in Visual Basic .NET Standard, it requires
Visual Studio 2003 Professional, or higher.

Full Object-Oriented Constructs

You can create reusable, enterprise-class code using full object-oriented constructs.
Language features include full implementation inheritance, encapsulation, and
polymorphism. Structured exception handling provides a global error handler and eliminates
spaghetti code.
XML Web Services

XML Web services enable you to call components running on any platform using open
Internet protocols. Working with XML Web services is easier where enhancements simplify
the discovery and consumption of XML Web services that are located within any firewall.
XML Web services can be built as easily as you would build any class in Visual Basic 6.0.
The XML Web service project template builds all underlying Web service infrastructure.

Mobile Applications

Visual Basic .NET 2003 and the .NET Framework 1.1 offer integrated support for
developing mobile Web applications for more than 200 Internet-enabled mobile devices.
These new features give developers a single, mobile Web interface and programming model
to support a broad range of Web devices, including WML 1.1 for WAP—enabled cellular
phones, compact HTML (cHTML) for i-Mode phones, and HTML for Pocket PC, handheld
devices, and pagers. Please note, Pocket PC programming is not available in Visual Basic
.NET Standard, it requires Visual Studio 2003 Professional, or higher.

COM Interoperability

You can maintain your existing code without the need to recode. COM interoperability
enables you to leverage your existing code assets and offers seamless bi-directional
communication between Visual Basic 6.0 and Visual Basic .NET applications.

Reuse Existing Investments

You can reuse all your existing ActiveX Controls. Windows Forms in Visual Basic
.NET 2003 provide a robust container for existing ActiveX controls. In addition, full support
for existing ADO code and data binding enable a smooth transition to Visual Basic .NET
2003.

Upgrade Wizard

You upgrade your code to receive all of the benefits of Visual Basic .NET 2003. The
Visual Basic .NET Upgrade Wizard, available in Visual Basic .NET 2003 Standard Edition,
and higher, upgrades up to 95 percent of existing Visual Basic code and forms to Visual
Basic .NET with new support for Web classes and UserControls

Introduction to Microsoft SQL Server 2000


Microsoft SQL Server 2000 is a full-featured relational database management system
(RDBMS) that offers a variety of administrative tools to ease the burdens of database
development, maintenance and administration. In this article, we'll cover six of the more
frequently used tools: Enterprise Manager, Query Analyzer, SQL Profiler, Service Manager,
Data Transformation Services and Books Online. Let's take a brief look at each:

Enterprise Manager is the main administrative console for SQL Server installations. It
provides you with a graphical "birds-eye" view of all of the SQL Server installations on your
network. You can perform high-level administrative functions that affect one or more servers,
schedule common maintenance tasks or create and modify the structure of individual
databases.

Query Analyzer offers a quick and dirty method for performing queries against any of your
SQL Server databases. It's a great way to quickly pull information out of a database in
response to a user request, test queries before implementing them in other applications,
create/modify stored procedures and execute administrative tasks.

SQL Profiler provides a window into the inner workings of your database. You can monitor
many different event types and observe database performance in real time. SQL Profiler
allows you to capture and replay system "traces" that log various activities. It's a great tool for
optimizing databases with performance issues or troubleshooting particular problems.

Service Manager is used to control the MSSQLServer (the main SQL Server process),
MSDTC (Microsoft Distributed Transaction Coordinator) and SQLServerAgent processes.
An icon for this service normally resides in the system tray of machines running SQL Server.
You can use Service Manager to start, stop or pause any one of these services.

Data Transformation Services (DTS) provide an extremely flexible method for importing
and exporting data between a Microsoft SQL Server installation and a large variety of other
formats. The most commonly used DTS application is the "Import and Export Data" wizard
found in the SQL Server program group.

Books Online is an often overlooked resource provided with SQL Server that contains
answers to a variety of administrative, development and installation issues. It's a great
resource to consult before turning to the Internet or technical support.
Data storage
The main unit of data storage is a database, which is a collection of tables with typed
columns. SQL Server supports different data types, including primary types such as Integer,
Float, Decimal, Char (including character strings), Varchar (variable length character strings),
binary (for unstructured blobs of data), Text (for textual data) among others. It also allows
user-defined composite types (UDTs) to be defined and used. SQL Server also makes server
statistics available as virtual tables and views (called Dynamic Management Views or
DMVs). A database can also contain other objects including views, stored procedures,
indexes and constraints, in addition to tables, along with a transaction log.
A SQL Server database can contain a maximum of 231 objects, and can span multiple
OS-level files with a maximum file size of 220 TB.[1] The data in the database are stored in
primary data files with an extension .mdf. Secondary data files, identified with an .ndf
extension, are used to store optional metadata. Log files are identified with the .ldf extension.
Storage space allocated to a database is divided into sequentially numbered pages,
each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is
marked with a 96-byte header which stores metadata about the page including the page
number, page type, free space on the page and the ID of the object that owns it. Page type
defines the data contained in the page - data stored in the database, index, allocation map
which holds information about how pages are allocated to tables and indexes, change map
which holds information about the changes made to other pages since last backup or logging,
or contain large data types such as image or text. While page is the basic unit of an I/O
operation, space is actually managed in terms of an extent which consists of 8 pages. A
database object can either span all 8 pages in an extent ("uniform extent") or share an extent
with up to 7 more objects ("mixed extent").
A row in a database table cannot span more than one page, so is limited to 8 KB in
size. However, if the data exceeds 8 KB and the row contains Varchar or Varbinary data, the
data in those columns are moved to a new page (or possible a sequence of pages, called
Allocation unit) and replaced with a pointer to the data. For physical storage of a table, its
rows are divided into a series of partitions (numbered 1 to n).
The partition size is user defined; by default all rows are in a single partition. A
table is split into multiple partitions in order to spread a database over a cluster. Rows in each
partition are stored in either B-tree or heap structure. If the table has an associated index to
allow fast retrieval of rows, the rows are stored in-order according to their index values, with
a B-tree providing the index.
The data is in the leaf node of the leaves, and other nodes storing the index values
for the leaf data reachable from the respective nodes. If the index is non-clustered, the rows
are not sorted according to the index keys. An indexed view has the same storage structure as
an indexed table. A table without an index is stored in an unordered heap structure. Both
heaps and B-trees can span multiple allocation units.

DATA FLOW DIAGRAMS:

The DFD takes an input-process-output view of a system i.e. data objects flow into
the software, are transformed by processing elements, and resultant data objects flow out of
the software.

Data objects represented by labeled arrows and transformation are represented by


circles also called as bubbles. DFD is presented in a hierarchical fashion i.e. the first data
flow model represents the system as a whole. Subsequent DFD refine the context diagram
(level 0 DFD), providing increasing details with each subsequent level.

The DFD enables the software engineer to develop models of the information
domain & functional domain at the same time. As the DFD is refined into greater levels of
details, the analyst performs an implicit functional decomposition of the system. At the same
time, the DFD refinement results in a corresponding refinement of the data as it moves
through the process that embodies the applications.

A context-level DFD for the system the primary external entities produce
information for use by the system and consume information generated by the system. The
labeled arrow represents data objects or object hierarchy.
RULES FOR DFD:

 Fix the scope of the system by means of context diagrams.

 Organize the DFD so that the main sequence of the actions

 Reads left to right and top to bottom.

 Identify all inputs and outputs.

 Identify and label each process internal to the system with Rounded circles.

 A process is required for all the data transformation and Transfers. Therefore, never
connect a data store to a data Source or the destinations or another data store with just a
Data flow arrow.

 Do not indicate hardware and ignore control information.

 Make sure the names of the processes accurately convey everything the process is done.

 There must not be unnamed process.

 Indicate external sources and destinations of the data, with Squares.

 Number each occurrence of repeated external entities.

 Identify all data flows for each process step, except simple Record retrievals.

 Label data flow on each arrow.

 Use details flow on each arrow.

 Use the details flow arrow to indicate data movements.


Process Notations

Process

A process transforms incoming data flow into outgoing data flow.

Yourdon and Coad Process Notations Gane and Sarson Process Notation

Datastore Notations

DataStore

Datastores are repositories of data in the system. They are sometimes also referred to as files.

Yourdon and Coad Datastore Notations

Gane and Sarson Datastore Notations

Dataflow Notations

Dataflow
Dataflow is pipelines through which packets of information flows through it . Label the
arrows with the name of the data that moves through it.

Level 1
Admin

Login

Add/View
Customer Customer

Add/View
Purchase
Purchase

Add/View
Stock Stock

Add/View
Sales Sales

Add/View
Billing
Billing

Employee Add/View
Employee
E-R Diagram
pincode

Id
User name
Contact no
Name
Password

1 M
Admin Has Customer Address

Has Has
Dob noofboxes
Empid Fname
y M weight
Designation
Purchase
Employee

itemcode itemname
Has Has

totalqty Date salesid

M
custname
Stock Has Sales

stockid date

Billing itemcode
company
name

itemcode
Billno
custname
custid
TABLE NAME: PRODUCT_DETAILS
Primary Key: P_id

Fields Data type Size Description


P_id int 50 Product id
P_name varchar 50 Product name
P_model varchar 50 Product model
P_type varchar 50 Product type
P_date varchar 50 Product date
P_cost varchar 50 Product cost
No_of_product varchar 50 No of product

TABLE NAME: PURCHASE


Primary Key: Itemcode

Fields Data type Size Description


Itemcode int 50 Item code
Itemname varchar 50 Item name
Itemcompany varchar 50 Item company
Itemmodel varchar 50 Item model
No_of_boxes varchar 50 No of boxes
No_of_clothrolls varchar 50 No of clothrolls
Weight varchar 50 Weight
Date_of_Purchase varchar 50 Date of Purchase

TABLE NAME: EMPLOYEE


Primary Key: Empid

Fields Data type Size Description


Empid int 50 Employee id
Emp_Name varchar 50 Employee Name
Bloodgroup varchar 50 Blood Group
Qualification varchar 50 Qualification
Designation varchar 50 Designation
Date_of_birth varchar 50 Date of birth
Address varchar 50 Address
Contactno varchar 50 Contact no
Date_of_join varchar 50 Date of join
Email varchar 50 Email

TABLE NAME: PURCHASE RETURN


Primary Key: Id
Foreign Key: Itemcode

Fields Data type Size Description

Id int 50 Itemcode
Itemcode varchar 50 Itemname
Itemname varchar 50 Itemcompany
Itemcompany varchar 50 Itemmodel
Itemmodel varchar 50 Return No of boxes
Return_No_of_boxes varchar 50 Returndate
Returndate varchar 50 Itemcode

TABLE NAME: SALES


Primary Key: Sales_Id

Fields Data type Size Description

Sales_Id int 50 Sales Id


CustomerName varchar 50 Customer Name
Date varchar 50 Date
Itemcode varchar 50 Item code
Itemname varchar 50 Item name
Quantity varchar 50 Quantity
Totalcost varchar 50 Total cost
Status varchar 50 Status

TABLE NAME: SALES RETURN


Primary Key: Sales_Id

Fields Data type Size Description

SalesReturn_Id int 50 SalesReturn_Id


Customer_name varchar 50 Customer name
Itemcode varchar 50 Item code
Itemname varchar 50 Item name
Quantity varchar 50 Quantity
Returndate varchar 50 Return date

TABLE NAME: STOCK


Primary Key: Stock_id
Fields Data type Size Description

Stock_id int 50 Stock_id


Itemcode varchar 50 Item code
Date varchar 50 Date
Totalsold varchar 50 Total sold
Availstock varchar 50 Available stock
TABLE NAME: ATTENDANCE
Primary Key: Id
Foreign Key:Emp_Name
Fields Data type Size Description

Id int - Id
Emp_Name varchar 50 Employee Name
Date varchar 50 Date
FN int - Fore Noon
AN int - After Noon
TABLE NAME: SALARY
Primary Key: Id
Foreign Key:Emp_Name
Fields Data type Size Description

Id int - Id
Emp_Name varchar 50 Employee name
Basic float 50 Basic
Pf float - Pf
Allowance float - Allowance
Netsalary float - Net salary
Total float - Total
Fdate varchar 50 From date
Tdate varchar 50 To date
WorkingDays float - Working Days
WorkedDays float - Worked Days

TABLE NAME: BILLING


Primary Key: Id
Foreign Key:Emp_Name,Customername
Fields Data type Size Description
Billno int - Billno
Customer_Id varchar 50 Customer Id
Customername varchar 50 Customer rname
Itemcode varchar 50 Itemcode
Itemname varchar 50 Item name
Date varchar 50 Date
Quantity varchar 50 Quantity
Per_Item_amount varchar 50 Per Item amount
Total varchar 50 Total
Discount varchar 50 Discount
FinalAmount varchar 50 Final Amount
INPUT DESIGN
The design is the link that ties the information system in the world of its users. Input design
consists of developing specific procedures for data preparation, steps processing. Those steps
are necessary to put data into a usable form for processing and data entry. The activity of
putting the data into the computer for processing data entry can be achieved by instructing the
computer to read data from a written or printed document or it can occur by having people
key data directly into the system.

 The design of the input for this project focuses on:


 Controlling the amount of inputs required.
 Controlling errors.
 Avoiding extra steps.
 Keeping the process simple.
 Select proper screen based controls

Controlling the amount of the inputs


An effective design should control the quality of the data for input. The input phase of
computing can be a slow process that can take longer computation time. In fact, the computer
may sit idle while data are being prepared and input for processing. By educing input
requirements the analyst may speed the entire process from data capture to processing to
providing the results to the user. This is the major concern in the input design phase of this
project.
Controlling errors
A good design must ensure that the input process is not error prone. The inputs must be
validated before they are being manipulated. As this project depends on the database for its
effective implementation it is a must that the errors are to be eradicated in the input itself. All
the possibilities of the user inputs are to be validated before they are stored in the database.
Selecting proper screen based controls
For a mechanized interface a good design must incorporate proper screen based controls for
input attributes that are to appear on the GUI input screen. This is an important attribute for a
design to be successful. Proper controls are to be placed for values that are populated directly
from database.
Keeping the process simple
The input design is made in a way that it makes the entire process simple. For instance, the
process of cushion (or) factor specification while computing Turnover, it must be very simple
that it gets all the required details necessary for registering the compliant in very user-friendly
manner. The design should focus on hiding the internal complexities from the user.
Avoiding the extra steps
An effective input should avoid the introduction of extra unnecessary steps into the input
process. The appropriate format and media for a computer input should be defined.
Output Design
Computer output is the most important and direct sources of information to the user. One of
the important features of the system for the user is the output it produces. Efficient,
intelligible output design should improve the system relationship with the user. Without the
quality output, the entire system may appear to be so unnecessary. A major form of output,
reports is the hardcopy of their printer. Printout should be designed around the output
requirements of the user. The proposed system has the capability to generate required report
as per the needs.
Designing computer output should proceed in an organized manner. The right must be
developed while ensuring that each output element is designed so that people will find the
system easy to use effectively. The term output applies to any information produced by an
information system, whether printed or display.
The output design of the proposed system focuses on:
 Assure purposeful output.
 Make meaningful to user.
 Provide appropriate Quantity.
 Assure Timeliness.
 Choose effective Output method.
Make Meaningful to User
Before presenting the outputs the design should be made in a way that it is meaningful. Only
data that is meaningful should be generated. The data presented before the user must have an
impact on the user giving him/her the necessary information.
Provide appropriate Quantity
A good design must ensure that it provides adequate quantity of data. For instance, while
using the tables might be possibilities that the data exceeds the fields in the table. In such a
case the design must take care that all the unwanted data are removed and the needed data are
presented.
Assure Timeliness
A good design must incorporate quick response time within itself. It must ensure that it does
not make the user wait for a long time to fetch the data or in the output generation process.
Choose effective output method
For an output design to be efficient a good effective method should be selected. The method
of output can be selected based on the people using the system, output needed
(distribution/logistics), purpose of the output etc. Outputs presented in the form of tables will
be most effective method for the proposed system.
The output screens of the projects are as follows,
Project Preference Report
Displays the preference of a particular project

SOFTWARE TESTING

System testing is the process of exercising software with the intent of finding and ultimately
correcting errors. This fundamental philosophy does not change for web applications,
because Web-based systems and application reside on a network and interoperate with many
different operating system, browsers, hardware platforms, and communication protocols; the
search for errors represents a significant challenge for web application.
The distributed nature of client/server environments, the performance issues associated with
transaction processing, the potential presence of a number of different hardware platforms,
the complexities of network communication, the need to serve multiple clients from a
centralized database and the requirements imposed on the server all combine to make testing
of client\server architectures.

Testing issues
 Client GUI considerations
 Target environment and platform diversity considerations
 Distributed database considerations
 Distributed processing considerations
Types of Testing
1. Unit Testing
2. Integration Testing
3. Validation Testing
4. User acceptance Testing
6. System Testing
Unit Testing
All modules were tested and individually as soon as they were completed were checked for
their correct functionality. Unit testing is carried out by verify and recover errors within the
boundary of the smallest unit or a module. In this testing step, each module was found to be
working satisfactory per the expected output of the module. In the package development,
each module is tested separately after it has been completed and checked with valid data.
Integration Testing
The entire project was split into small programs; each of these single programs gives a frame
as an output. These programs were tested individually; at last all these programs where
combined together by creating another program where all these constructions were used. It
gives a lot of problem by not functioning in an integrated manner.
The user interface testing is important since the user has to declare that the arrangements
made in the frames are convenient and it is satisfied. When the frames are the test, the end
user gave suggestion. Since they were much exposed to do the work manually.
Validation Testing
At the culmination of the black box testing software is completely assembled as a package.
Interfacing errors have been uncovered and corrected and a final series of test i.e., validation
succeeds when the software functions in a manner that can be reasonably accepted by the
customer.
User Acceptance Testing
User acceptance testing of the system is the key factor the success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with
prospective system at the time of development and making change whenever required. This is
done with regard to the input screen design and output screen design.
System Testing
This is to verify that all the system elements have been properly integrated and perform
allocated functions. Testing is executing a program to test the logic changes made in it and
with intention of finding errors. Tests are also conducted to find discrepancies between
system and its original objective, current specification and documents.
SYSTEM IMPLEMENTATION AND MAINTANENCE
IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned into a
working system. The implementation stage is a system project in its own right. It includes
careful planning, investigation of current system and its constraints on implementation,
design of methods to achieve the changeover, training of the staff in the changeover
procedure and evaluation of the changeover method.
The first task in implementation is planning deciding on the methods and time scale to be
adopted. Once the planning has been completed the major effort is to ensure that the
programs in the system are working properly when the staff has been trained, the complete
system involving both computer and user can be executed effectively. Thus the clear plans
are prepared for the activities.
Successful implementation of the new system design is a critical phase in the system life
cycle. Implementation means the process of converting a new or a revised system design into
an operational one.
SYSTEM MAINTAINS

Implementation is a stage of the project when the theoretical design is turned into a working
system. The most critical stage in achieving a successful new system and giving the user’s
confidence is that the new system will work and he effective in the implementation storage.
The stage consist of
 Testing the developed program with sample data.
 Detection and correction of errors.
 Testing whether the system meets user requirements.
 Making necessary changes as desired by the user.
 Training the user personal.
It involves careful maintaining, investigation of the current system and its constraints and
implementation design of methods to achieve. The change over and evaluation of the change
over methods. Apart from maintenance, there are two major tasks of preparing for
implementation are educating and training the users and system testing.
CONCLUSION
The system has been developed keeping overcoming the limitations of the existing manual
system, and it is made successfully. For efficient and effective utilization of the system, user
must have to follow the directions. User must make the data entries in time and they should
be complete.
The Conclusion outlines the critical environment of the system and details the best approach
in improving the system in future. The system is flexible so that it is possible to make
changes as the environment changes. At the same time this project is unique in nature,
providing a pleasant platform for the user to work with.
FUTURE ENHANCEMENT

The software developed is very flexible and much functionality can be added to it, to enhance
its performance. The report generation system will produce accurate and automated reports.
This is an effective method to manage business finances including income, employee wage
information, profit and loss and all other processes which will assist in determining future
business needs and decision-making. The system will establish secure access system logins
for employees. These options can be included to improve the efficiency of the software.
BIBLIOGRAPHY

BOOK REFERENCES

1. Eilas M.Awad, “System Analysis and Design,” Galgogia Publications (P) Limited,

Second Edition.

2. E.Balagurusamy, “Programming in C#,” Tata McGraw-Hill Publishing Company

Limited, New Delhi.

3. Albahari, B., et al., “C# Essentials,” O’Reilly, 1998.

4. Liberty, j., “Programming C#,” O’Reilly, 2001.

5. Michaelis, M. and Spokas, P., “C# Developer’s Head start,” Osborne/McGraw-Hill,

2001.

6. MSDN, “C# Language Specifications,” Microsoft Press, 2001.

7. Troelsen, A., “C# and the .NET, Platform,” Apress, 2001.

8. Roger S Pressman (1997), “Software Engineering”, Tata McGraw-hill publishing

company.

9. James R Groff and Paul N Weinberg, “The complete reference: sql”, Tata McGraw-

Hill.

Websites:

1. www.w3schools.com
2. www.tizag.com
3. www.vb.net
4. www.dreamcode.net
5. www.learnlayout.com
Sample Code

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO
Imports System.Text.RegularExpressions
Public Class ProductDetails
Dim constring As String =
ConfigurationManager.ConnectionStrings("ConString").ConnectionString
Dim con As New SqlConnection(constring)
Dim cmd As New SqlCommand()
Dim da As SqlDataAdapter
Dim dr As SqlDataReader
Dim tot, cost, total As Decimal
Dim qry, gender As String
Dim ds As DataSet
Dim id As Integer

Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click


If txtproduct.Text = "" Or txtproductname.Text = "" Or txtmodel.Text = "" Or
txtprotype.Text = "" Or DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or
txtcost.Text = "" Or txtno_of_product.Text = "" Then
MessageBox.Show("Please Enter the All Details")
Else
Try
con.Open()
qry = "insert into Product_details values('" & txtproduct.Text & "','"
& txtproductname.Text & "','" & txtmodel.Text & "','" & txtprotype.Text & "','" &
DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "','" & txtcost.Text & "','" &
txtno_of_product.Text & "')"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("Product Details Successfully", MsgBoxStyle.Information, "Item
Saved")

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
con.Close()

con.Open()
Try
da = New SqlDataAdapter("select * from Product_details", con)
ds = New DataSet()
da.Fill(ds, "Product_details")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Product_details"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnsearch_Click(sender As Object, e As EventArgs) Handles


btnsearch.Click
Dim L As Boolean = False
Try
con.Open()
qry = "select * from Product_details where P_id='" & txtproduct.Text &
"'"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
Do While dr.Read()

txtproductname.Text = dr.Item("P_name").ToString()
txtmodel.Text = dr.Item("P_model").ToString()
txtprotype.Text = dr.Item("P_type").ToString()
DateTimePicker1.Value =
Convert.ToDateTime(dr.Item("P_date").ToString())
txtcost.Text = Convert.ToInt16(dr.Item("P_cost").ToString())
txtno_of_product.Text =
Convert.ToInt16(dr.Item("No_of_product").ToString())

L = True
Loop
If L = False Then
MessageBox.Show("Record Was Not Found.")
End If
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)

Finally
con.Close()
End Try
End Sub

Private Sub btnupdate_Click(sender As Object, e As EventArgs) Handles


btnupdate.Click
If txtproduct.Text = "" Or txtproductname.Text = "" Or txtmodel.Text = "" Or
txtprotype.Text = "" Or DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or
txtcost.Text = "" Or txtno_of_product.Text = "" Then
MessageBox.Show("Please Enter the All Details")
Else
Try
con.Open()
qry = "update Product_details set P_name='" & txtproductname.Text &
"',P_model='" & txtmodel.Text & "',P_type='" & txtprotype.Text & "',P_date='" &
DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "',P_cost='" & txtcost.Text & "',
No_of_product='" & txtno_of_product.Text & "' where P_id='" & txtproduct.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("One Item updated", MsgBoxStyle.Information, "Product Details
Added")
con.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try

End If
con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Product_details", con)
ds = New DataSet()
da.Fill(ds, "Product_details")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Product_details"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles


btndelete.Click
Try
con.Open()
qry = "delete from Product_details where P_id='" & txtproduct.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()

MessageBox.Show("One Item Deleted")

Catch ex As Exception
MessageBox.Show("The Purchase Details Not Available")
End Try

con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Product_details", con)
ds = New DataSet()
da.Fill(ds, "Product_details")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Product_details"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles


btnclear.Click
txtproduct.Text = ""
txtproductname.Text = ""
txtmodel.Text = ""
txtprotype.Text = ""
DateTimePicker1.Value = Today.Date
txtcost.Text = ""
txtno_of_product.Text = ""
End Sub

Private Sub btnhome_Click(sender As Object, e As EventArgs) Handles btnhome.Click


Me.Hide()
MDIParent1.Show()
End Sub

Private Sub ProductDetails_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
con.Open()
qry = "select max(P_id) from Product_details"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
While dr.Read()
If dr(0).ToString() = "" Then
id = 1
Else
id = Convert.ToInt32(dr(0).ToString()) + 1
End If
End While
dr.Close()
con.Close()
txtproduct.Text = id.ToString()

con.Open()
Try
da = New SqlDataAdapter("select * from Product_details", con)
ds = New DataSet()
da.Fill(ds, "Product_details")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Product_details"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub
End Class

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO
Imports System.Text.RegularExpressions
Public Class Employee
Dim constring As String =
ConfigurationManager.ConnectionStrings("ConString").ConnectionString
Dim con As New SqlConnection(constring)
Dim cmd As New SqlCommand()
Dim da As SqlDataAdapter
Dim dr As SqlDataReader
Dim tot, cost, total As Decimal
Dim qry, gender As String
Dim ds As DataSet
Dim id As Integer
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
If txtempid.Text = "" Or txtfirstname.Text = "" Or txtblood.Text = "" Or
txtqualification.Text = "" Or txtdesignation.Text = "" Or
DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or txtaddress.Text = "" Or
txtcontact.Text = "" Or DateTimePicker2.Value.ToString("dd-MMM-yyyy") = "" Or
txtemail.Text = "" Then
MessageBox.Show("Please Enter the All Details")
Else
Try
con.Open()
qry = "insert into Employee values('" & txtempid.Text & "','" &
txtfirstname.Text & "','" & txtblood.Text & "','" & txtqualification.Text & "','" &
txtdesignation.Text & "','" & DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "','" &
txtaddress.Text & "','" & txtcontact.Text & "','" &
DateTimePicker2.Value.ToString("dd-MMM-yyyy") & "','" & txtemail.Text & "')"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("Employee Details Successfully", MsgBoxStyle.Information, "Item
Saved")

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Employee", con)
ds = New DataSet()
da.Fill(ds, "Employee")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Employee"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnsearch_Click(sender As Object, e As EventArgs) Handles


btnsearch.Click
Dim L As Boolean = False
Try
con.Open()
qry = "select * from Employee where Empid='" & txtempid.Text & "'"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
Do While dr.Read()

txtfirstname.Text = dr.Item("Fname").ToString()
txtblood.Text = dr.Item("BloodGroup").ToString()
txtdesignation.Text = dr.Item("Designation").ToString()
txtqualification.Text = dr.Item("Qualification").ToString()
DateTimePicker1.Value =
Convert.ToDateTime(dr.Item("Date_of_birth").ToString())
txtaddress.Text = dr.Item("Address").ToString()
txtcontact.Text = dr.Item("Contactno").ToString()
DateTimePicker2.Value =
Convert.ToDateTime(dr.Item("Date_of_join").ToString())
txtemail.Text = dr.Item("Email").ToString()

L = True
Loop
If L = False Then
MessageBox.Show("Record Was Not Found.")
End If
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)

Finally
con.Close()
End Try
End Sub

Private Sub btnupdate_Click(sender As Object, e As EventArgs) Handles


btnupdate.Click

If txtempid.Text = "" Or txtfirstname.Text = "" Or txtblood.Text = "" Or


txtqualification.Text = "" Or txtdesignation.Text = "" Or
DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or txtaddress.Text = "" Or
txtcontact.Text = "" Or DateTimePicker2.Value.ToString("dd-MMM-yyyy") = "" Or
txtemail.Text = "" Then
Else
Try
con.Open()
qry = "update Employee set Fname='" & txtfirstname.Text &
"',BloodGroup='" & txtblood.Text & "',Qualification='" & txtqualification.Text &
"',Designation='" & txtdesignation.Text & "',Date_of_birth='" &
DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "', Address='" & txtaddress.Text &
"',Contactno='" & txtcontact.Text & "', Date_of_join='" &
DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "',Email='" & txtemail.Text & "' where
Empid='" & txtempid.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("One Item updated", MsgBoxStyle.Information, "Employee Details
Added")
con.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try

End If
con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Employee", con)
ds = New DataSet()
da.Fill(ds, "Employee")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Employee"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles


btndelete.Click
Try
con.Open()
qry = "delete from Employee where Empid='" & txtempid.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()

MessageBox.Show("One Item Deleted")

Catch ex As Exception
MessageBox.Show("The Employee Details Not Available")
End Try

con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Employee", con)
ds = New DataSet()
da.Fill(ds, "Employee")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Employee"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles


btnclear.Click
txtempid.Text = ""
txtfirstname.Text = ""
txtblood.Text = ""
txtqualification.Text = ""
txtdesignation.Text = ""
DateTimePicker1.Value = Today.Date()
txtaddress.Text = ""
txtcontact.Text = ""
DateTimePicker2.Value = Today.Date()
txtemail.Text = ""
End Sub

Private Sub btnhome_Click(sender As Object, e As EventArgs) Handles btnhome.Click


Me.Hide()
MDIParent1.Show()
End Sub

Private Sub Employee_Load(sender As Object, e As EventArgs) Handles MyBase.Load


con.Open()
qry = "select max(Empid) from Employee"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
While dr.Read()
If dr(0).ToString() = "" Then
id = 1
Else
id = Convert.ToInt32(dr(0).ToString()) + 1
End If
End While
dr.Close()
con.Close()
txtempid.Text = id.ToString()

con.Open()
Try
da = New SqlDataAdapter("select * from Employee", con)
ds = New DataSet()
da.Fill(ds, "Employee")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Employee"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub
End Class

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.IO
Imports System.Text.RegularExpressions
Public Class Sales
Dim constring As String =
ConfigurationManager.ConnectionStrings("ConString").ConnectionString
Dim con As New SqlConnection(constring)
Dim cmd As New SqlCommand()
Dim da As SqlDataAdapter
Dim dr As SqlDataReader
Dim tot, cost, total As Decimal
Dim qry, gender As String
Dim ds As DataSet
Dim id As Integer

Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click


If txtsalesid.Text = "" Or txtcustomername.Text = "" Or
DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or txtitemcode.Text = "" Or
txtitemname.Text = "" Or txtquantity.Text = "" Or txtcost.Text = "" Or txtstatus.Text
= "" Then
MessageBox.Show("Please Enter the All Details")
Else
Try
con.Open()
qry = "insert into Sales values('" & txtsalesid.Text & "','" &
txtcustomername.Text & "','" & DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "','" &
txtitemcode.Text & "','" & txtitemname.Text & "','" & txtquantity.Text & "','" &
txtcost.Text & "','" & txtstatus.Text & "')"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("Sales Details Successfully", MsgBoxStyle.Information, "Item
Saved")

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Sales", con)
ds = New DataSet()
da.Fill(ds, "Sales")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Sales"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnsearch_Click(sender As Object, e As EventArgs) Handles


btnsearch.Click
Dim L As Boolean = False
Try
con.Open()
qry = "select * from Sales where Sales_Id='" & txtsalesid.Text & "'"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
Do While dr.Read()

txtcustomername.Text = dr.Item("CustomerName").ToString()
DateTimePicker1.Value = Convert.ToDateTime(dr.Item("Date").ToString())
txtitemcode.Text = dr.Item("Itemcode").ToString()
txtitemname.Text = dr.Item("Itemname").ToString()
txtquantity.Text = Convert.ToInt16(dr.Item("Quantity").ToString())
txtcost.Text = Convert.ToInt16(dr.Item("Totalcost").ToString())
txtstatus.Text = dr.Item("Status").ToString()

L = True
Loop
If L = False Then
MessageBox.Show("Record Was Not Found.")
End If
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
Finally
con.Close()
End Try
End Sub

Private Sub btnupdate_Click(sender As Object, e As EventArgs) Handles


btnupdate.Click
If txtsalesid.Text = "" Or txtcustomername.Text = "" Or
DateTimePicker1.Value.ToString("dd-MMM-yyyy") = "" Or txtitemcode.Text = "" Or
txtitemname.Text = "" Or txtquantity.Text = "" Or txtcost.Text = "" Or txtstatus.Text
= "" Then
MessageBox.Show("Please Enter the All Details")
Else
Try
con.Open()
qry = "update Sales set CustomerName='" & txtcustomername.Text & "',
Date='" & DateTimePicker1.Value.ToString("dd-MMM-yyyy") & "',Itemcode='" &
txtitemcode.Text & "',Itemname='" & txtitemname.Text & "',Quantity='" &
txtquantity.Text & "',Totalcost='" & txtcost.Text & "',Status='" & txtstatus.Text & "'
where Sales_Id='" & txtsalesid.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()
MsgBox("One Item updated", MsgBoxStyle.Information, "Sales Details
Added")
con.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try

End If
con.Close()
con.Open()
Try
da = New SqlDataAdapter("select * from Sales", con)
ds = New DataSet()
da.Fill(ds, "Sales")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Sales"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles


btndelete.Click
Try
con.Open()
qry = "delete from Sales where Sales_Id='" & txtsalesid.Text & "'"
cmd = New SqlCommand(qry, con)
cmd.ExecuteNonQuery()

MessageBox.Show("One Item Deleted")

Catch ex As Exception
MessageBox.Show("The Purchase Details Not Available")
End Try
con.Close()

con.Open()
Try
da = New SqlDataAdapter("select * from Sales", con)
ds = New DataSet()
da.Fill(ds, "Sales")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Sales"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub

Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles


btnclear.Click
txtsalesid.Text = ""
txtcustomername.Text = ""
DateTimePicker1.Value = Today.Date()
txtitemcode.Text = ""
txtitemname.Text = ""
txtquantity.Text = ""
txtcost.Text = ""
txtstatus.Text = ""
End Sub

Private Sub btnhome_Click(sender As Object, e As EventArgs) Handles btnhome.Click


Me.Hide()
MDIParent1.Show()
End Sub

Private Sub Sales_Load(sender As Object, e As EventArgs) Handles MyBase.Load


con.Open()
qry = "select max(Sales_Id) from Sales"
cmd = New SqlCommand(qry, con)
dr = cmd.ExecuteReader()
While dr.Read()
If dr(0).ToString() = "" Then
id = 1
Else
id = Convert.ToInt32(dr(0).ToString()) + 1
End If
End While
dr.Close()
con.Close()
txtsalesid.Text = id.ToString()

con.Open()
Try
da = New SqlDataAdapter("select * from Sales", con)
ds = New DataSet()
da.Fill(ds, "Sales")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Sales"
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Sql Error")
End Try
con.Close()
End Sub
End Class
Screen Shot

Admin Home
Product Details
Purchase Details
Purchase Return
Sales Details
Sales Return
Stock Details
Billing Details
Product Report

Sales Report