INFORMATICS
PRACTICES
PROJECT ON
STUDENTS
MARKSHEET"
SUBMITTED BY: - UNDER THE
GUIDANCE OF
MR.
NAVNEET SINGH
BHUMITA SINGH
CLASS XII F (PGT
INFORMAICS PRACTICES)
KV
ONGC,Dehradun
ACKNOWLEDGEMENT
It gives me inense pleasure to express mh g
CODING
ALONGWITH
SCREENSHOTS
Backend
MySql Tables with following
description:
Admin form
Coding for login form
private void jButton1ActionPerformed
(java.awt.event.ActionEvent evt)
{
String id=jTextField1.getText();
String pass=new
String(jPasswordField1.getPassword());
if(id.equals("admin") && pass.equals("pass"))
{
dispose();
FrameAddStud.setVisible(true);
jTextField2.setText(null);
jTextField3.setText(null);
jComboBox1.setSelectedIndex(-1);
}
else
JOptionPane.showMessageDialog(this,"Incorrect
login details");
}
Student Form
Coding for ADD button
private void jButton2ActionPerformed
(java.awt.event.ActionEvent evt) {
String admn0=jTextField2.getText();
String name=jTextField3.getText();
String
std=(String)jComboBox1.getSelectedItem();
try
{
Class.forName("java.sql.DriverManager");
Connection con
=DriverManager.getConnection("jdbc:
mysql://localhost:3306/marksheet","root"," ");
Statement stmt=con.createStatement();
String qry="insert into students
values("+admn0+", '"+name+"','"+std+"');
stmt.executeUpdate(qry);
JOptionPane.showMessageDialog(FrameAddStud,"S
tudent
Added");
con.close();
jButton1.doClick();
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
Subject Form
Coding for Combo box
String std=(String) jComboBox2.getSelectedItem();
int ind=jComboBox2.getSelectedIndex();
if(ind>-1)
{
jButton10.setEnabled(true);
try
{
Class.forName("java.sql.DriverManager");
Connection con
=DriverManager.getConnection("jdbc:
mysql://localhost:3306/marksheet","root"," ");
Class.forName("java.sql.DriverManager");
Connection con
=DriverManager.getConnection("jdbc:
mysql://localhost:3306/marksheet","root"," ");
Statement stmt= con.createStatement();
String qry="select * from subjects"+std+";
ResultSet rs=stmt.executeQuery(qry);
int c=0;
DefaultListModel dlm=jList1.getModel();
dlm.removeAllElements();
while(rs.next())
{
String sub=rs.getString("subjects");
dlm.addElement(sub);
c++;
}
if(c==0)
JOptionPane.showMessageDialog(FrameSubjects,
"No subjects, please add subjects");
jList1.setModel (dlm);
con.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
Coding for Add New Subject
String std=(String) jComboBox2.getSelectedItem();
if(std.isEmpty()==false)
{
try
{
Class.forName("java.sql.DriverManager");
Connection con
=DriverManager.getConnection("jdbc:
mysql://localhost:3306/marksheet","root"," ");
=DriverManager.getConnection("jdbc:mysql://local
host:3306/marksheet","root","");
Statement
stmt=(Statement)con.createStatement();
int ch=0;
try
{
String qry1="select * from marksheet"+std;
ResultSet rs=stmt.executeQuery(qry1);
if (rs.next()==true)
{
ch=JOptionPane.showConfirmDialog(FrameSubjects
,"Marksheets are"+ " already generated, adding
new subject will cause all the marksheet be
deleted."+ "\nDo you want to continue?");
}
stmt.executeUpdate("drop table marksheet"+std);
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
if (ch==0)
{
String
sub=JOptionPane.showInputDialog(FrameSubjects,"
Enter subject name:");
String qry="insert into subjects"+std+"
values('"+sub+"');";
stmt.executeUpdate(qry);
JOptionPane.showMessageDialog(FrameSubjects,"S
ubject Added");
DefaultListModel dlm=(DefaultListModel)
jList1.getModel() dlm.addElement(sub);
}
con.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
else
{
JOptionPane.showMessageDialog(FrameSubjects,"pl
ease select class first");
}
Marksheet Form
Coding for select class
try
{
Object clas=jComboBox3.getSelectedItem();
String std="";
std=(String)clas;
jButton14.setEnabled(false);
jTextField5.setText(null);
jTextField6.setText(null);
DefaultListModel
dlm=(DefaultListModel)jList2.getModel();
dlm.removeAllElements();
DefaultTableModel
model=(DefaultTableModel)jTable1.getModel();
int rows=model.getRowCount();
if(rows>0)
{
for(int i=0;i<rows;i++)
{
model.removeRow(0);
}
}
if(std.isEmpty()==false)
{
Class.forName("java.sql.DriverManager");
Connection con =
DriverManager.getConnection("jdbc:mysql://localho
st:"
"root"," ");
Statement
stmt=(Statement)con.createStatement();
String qry1="select * from subjects"+std+";
ResultSet rs;
rs=stmt.executeQuery(qry1);
if(rs.next()==true)
{
String qry2="create table
marksheet"+std+"(admno int primary key, ograde
varchar(255),cgpa varchar(255),";
String sub=rs.getString("subjects");
qry2+=sub.replace(" ", "$")+" varchar(255),";
while(rs.next()==true)
{
sub=rs.getString("subjects");
qry2+=sub.replace(" ", "$")+" varchar(255),";
}
qry2=qry2.substring(0, qry2.length()-1)+" );";
try
{
stmt.executeUpdate(qry2);
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
String qry="select * from students where
class="+std+" order by admno;
rs=stmt.executeQuery(qry);
admn=new int[50];
int i=0;
while(rs.next()==true)
{
String name=rs.getString("name");
int admno=rs.getInt("admno");
dlm.addElement(name+"-"+admno);
admn[i]=admno;
i++;
}
}
else
{
JOptionPane.showMessageDialog(FrameMarksheet,
"Please add subjects before
generating marksheet");
dlm.removeAllElements();
}
con.close();
jList2.setModel(dlm);
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
Coding for text area
Try
{
int index=jList2.getSelectedIndex();
String std=(String) jComboBox3.getSelectedItem();
jButton14.setEnabled(true);
jTextField5.setText(null);
jTextField6.setText(null);
DefaultTableModel
model=(DefaultTableModel)jTable1.getModel();
int rows=model.getRowCount();
if(rows>0)
{
for(int i=0;i<rows;i++)
{
model.removeRow(0);
}
}
Class.forName("java.sql.DriverManager");
Connection con
=DriverManager.getConnection("jdbc:mysql://local
host:3306/marksheet","root","");
Statement stmt= con.createStatement();
String qry="select * from marksheet"+std+" where
admno="+admn[index];
ResultSet rs;
rs=stmt.executeQuery(qry);
ResultSetMetaData rsmd=(ResultSetMetaData)
rs.getMetaData();
int col=rsmd.getColumnCount();
String grades[]=new String[col-3];
String subjects[]=new String[col-3];
if(rs.next())
{ jTextField5.setText(rs.getString(2));
jTextField6.setText(rs.getString(3));
for(int i=0;i<=grades.length-1;i++)
{
grades[i]=rs.getString(i+4);
}
}
String qry1="select * from subjects"+std+";";
rs=stmt.executeQuery(qry1);
int x=0;
while(rs.next())
{
subjects[x]=rs.getString(1);
x++;
}
for(int i=0;i<=subjects.length-1;i++)
model.addRow(new Object[]
{subjects[i],grades[i]});
con.close();
} catch(Exception e)
{
JOptionPane.showMessageDialog(FrameMarksheet,
e.getMessage());
}
Coding for ADD/UPDATE Button
try
{
String std=(String) jComboBox3.getSelectedItem();
int index=jList2.getSelectedIndex();
String ograde=jTextField5.getText();
String cgpa=jTextField6.getText();
TableCellEditor cellEditor = jTable1.getCellEditor();
if(cellEditor!=null)
{
jTable1.getCellEditor().stopCellEditing();
}
DefaultTableModel
model=(DefaultTableModel)jTable1.getModel();
int rows=model.getRowCount();
String grades[]=new String[rows];
int nullcount=0;
for(int i=0;i<=rows-1;i++)
{
for(int j=0;j<=1;j++)
{
String temp = (String) jTable1.getValueAt(i, j);
if(temp==null)
{
nullcount++;
}
}
}
if(nullcount>0 || cgpa.isEmpty() ||
ograde.isEmpty())
{
JOptionPane.showMessageDialog(FrameMarksheet,
"Invalid input");
}
else
{
for(int i=0;i<=rows-1;i++)
grades[i]=(String) jTable1.getValueAt(i, 1
Class.forName("java.sql.DriverManager");
Connection con =
DriverManager.getConnection("jdbc:mysql://localho
st:"
"root"," ");
Statement
stmt=(Statement)con.createStatement();
String qry="insert into marksheet"+std+"
values("+admn[index]
+",'"+ograde+"','"+cgpa+"');
for(int i=0;i<=rows-1;i++)
qry+=grades[i]+"','";
qry=qry.substring(0,qry.length()-2)+");";
String qry1="delete from marksheet"+std+" where
admno="+admn[index]+";";
stmt.executeUpdate(qry1);
stmt.executeUpdate(qry);
JOptionPane.showMessageDialog(FrameMarksheet,
"Marksheet created/update");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog( null, error in
connectivity);
}
Marksheet Form
Coding for Show
Try
{
Class.forName("java.sql.DriverManager");
Connection con =(Connection)
DriverManager.getConnection("jdbc:mysql://localho
st:3306/marksheet","root","");
Statement
stmt=(Statement)con.createStatement();
FrameMarksheet.setVisible(false);
String admn=jTextField1.getText();
String qry="select name,class from students where
admno="+admn+";";
String std="",name="";
ResultSet rs;
rs=stmt.executeQuery(qry);
int cont=0;
if(rs.next())
{
name=rs.getString(1);
std=rs.getString(2);
cont=1;
}
else
{
JOptionPane.showMessageDialog(this,"Admission
number is wrong");
}
if(cont==1)
{
String qry1="select * from subjects"+std+";";
String qry2 = "select * from marksheet"+std+"
where admno="+admn+";";
int flag=0;
try
{
rs=stmt.executeQuery(qry2);
}
catch(Exception e)
{
flag=1;
}
if(flag==0)
{
ResultSetMetaData rsmd=(ResultSetMetaData)
rs.getMetaData();
int col=rsmd.getColumnCount();
String grades[]=new String[col-3];
String subjects[]=new String[col-3];
String ograde="",cgpa="";
int i=0;
if(rs.next())
{
ograde=rs.getString(2);
cgpa=rs.getString(3);
for(i=0;i<=grades.length-1;i++)
{
grades[i]=rs.getString(i+4);
}
cont=2;
}
else
{
JOptionPane.showMessageDialog(this, "Marksheet
not generated yet");
}
i=0;
if(cont==2)
{
rs = stmt.executeQuery(qry1);
while(rs.next()==true)
{
subjects[i]=rs.getString(1);
i++;
}
DefaultTableModel model= (DefaultTableModel)
jTable1.getModel();
int rows=model.getRowCount();
if(rows>0)
{
for(i=0;i<rows;i++)
{
model.removeRow(0);
}
}
for(i=0;i<=grades.length-1;i++)
{
model.addRow(new Object[]
{subjects[i],grades[i]});
}
jTextField2.setText(admn);
jTextField3.setText(name);
jTextField4.setText(ograde);
jTextField5.setText(cgpa);
jTextField6.setText(std);
FrameMarksheet.setVisible(true);
}
}
else
JOptionPane.showMessageDialog(this,"Marksheet
not generated yet");
}
}
catch(Exception e)
{ JOptionPane.showMessageDialog( null, error in
connectivity);
}
Coding for EXIT
System.exit(0)
BIBLIOGRAPHY
The information of this project has
been collected from the following
sources:-
A. CBSE book for Informatics
Practices.
B. Saraswati informatics practices
book
C. Sumita Arora informatics
practices book
D. www.cbseipproject.com
E. www.successtime.com