Wednesday, 5 October 2016

Java Database Code for MS Acess using ODBC ( Sys DN) with navigation and manipulation

import java.io.*;
import java.util.*;
import java.sql.*;

public class dbpg4
{
public static int rno;


    public static void main(String[] args) {
        Connection con;
        Statement st;
        BufferedReader bufin;
        ResultSet rs,rs1;
        ResultSetMetaData rm;
        String namef;
    int numf,mark1f,mark2f,totalf,insch,pickch,numoffields,mark11f,mark22f;
        
        try
        {
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("jdbc:odbc:chan2");
con.setAutoCommit(false);
st = con.createStatement();           

            bufin = new BufferedReader(new InputStreamReader(System.in));
            Scanner scanner = new Scanner(System. in);
//String input = scanner. nextLine();
          
           
        
                System.out.println("Pick your option");
        System.out.println("-----------------");
                System.out.println("1. New Record Entry");
                System.out.println("2. Students Information Display");
                System.out.println("3. Information  Modification for a Student");
        System.out.println("4. Total Mark calculation for all Students");               
        System.out.println("5.  Grade A Students Records Deletion ");
        System.out.println("6.  Enquiry of a student ");               
        System.out.println("any other No  FOR RECORD NAVIGATION");
                pickch = Integer.parseInt(bufin.readLine());
switch(pickch)
{
case 1:
    do
            {
        System.out.println("Enter Name");
                namef = scanner. nextLine();               
        System.out.println("Enter Reg.No");
               numf = Integer.parseInt(bufin.readLine());
                System.out.println("Enter Mark1");
                mark1f= Integer.parseInt(bufin.readLine());
        System.out.println("Enter Mark2");
        mark2f= Integer.parseInt(bufin.readLine());
                st.execute("insert into table1(sname,sno,mark1,mark2) values('"+namef+"',"+numf+","+mark1f+","+mark2f+")");
                System.out.println("Data Entry Done");
                System.out.println(" do you want to Continue Insertion of records ? press no 0 to exit");
                insch = Integer.parseInt(bufin.readLine());
            }while(insch>0);
        break;

 case 2:
          
               rs = st.executeQuery("select * from table1");
               if(rs!=null)
                {
            rm = rs.getMetaData();
               numoffields = rm.getColumnCount();
                for(int i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t\t");
               }
               System.out.println();
              
               while(rs.next())
               {
               for(int i=1; i<=numoffields; i++)
               {
                   System.out.print(rs.getString(i) +"\t\t");
               }
               System.out.println();
        }
}
else
System.out.println("No Record Details Available - Do Data Entry ");
               break;
case 3:
       
System.out.println("Enter Reg.No. for changing the contents:");
               numf = Integer.parseInt(bufin.readLine());
rs1=st.executeQuery("select * from table1 where sno="+numf);

rs1.next();// to set resultset pointer


       


               System.out.println("if u want to change the name then give the name else type N");
               namef = scanner.nextLine();
 System.out.println("if u want to change mark1 value  then give the the value else enter 0");
               mark11f = scanner.nextInt();
System.out.println("if u want to change mark2 value  then give the the value else enter 0");
               mark22f = scanner.nextInt();


    if (namef.equalsIgnoreCase("N"))

        {    
        namef=rs1.getString("sname");
        }
if (mark11f==0)
{
mark11f=Integer.parseInt(rs1.getString("mark1"));

}
if (mark22f==0)
{
mark22f=Integer.parseInt(rs1.getString("mark2"));
}
System.out.println(namef);
System.out.println(mark11f);
System.out.println(mark22f);        
st.executeUpdate("update table1 set sname='"+namef+"', mark1="+mark11f+", mark2="+mark22f+" , tot=mark1+mark2 where sno="+numf);
               con.setAutoCommit(true);
        System.out.println(" Record Modified with your selective values");
        

//*{
//System.out.println("Enter Name");
//                namef = scanner. nextLine();               
//        System.out.println("Enter Reg.No");
  //             numf = scanner.nextInt();
    //            System.out.println("Enter Mark1");
      //          mark11f= Integer.parseInt(bufin.readLine());
    //    System.out.println("Enter Mark2");
    //    mark22f= Integer.parseInt(bufin.readLine());          
        //    st.executeUpdate("update table1 set sname='"+namef+"', mark1="+mark11f+", mark2="+mark22f+" , tot=mark1+mark2 where sno="+numf);
          //     con.setAutoCommit(true);
        //System.out.println(" Record Modified");
//}


break;
case 4:       
   
int i=st.executeUpdate("update table1 set tot=mark1+mark2");
   
con.setAutoCommit(true);
   
       
            if(i != 0)
            {
                System.out.println("Records updated"+i);
            }
            else
            {
                System.out.println("No updation occured");
            }
        break;
case 5:       
        //System.out.println("Enter Reg.No to delete");
              // numf = Integer.parseInt(bufin.readLine());
    //int i1=st.executeUpdate("delete from  table1 where sno=2");
    int i1=st.executeUpdate("delete from  table1 where (mark1+mark2)/2<60");
    con.setAutoCommit(true);
    if(i1 != 0)
            {
                System.out.println("No. of records deleted = "+i1);
            }
            else
            {
                System.out.println("Record Deletion not occured ");
            }
        break;
case 6:
System.out.println("Enter  the Reg.No. to search :");
numf = Integer.parseInt(bufin.readLine());
rs1=st.executeQuery("select * from table1 where sno="+numf);

rs1.next();
rno=rs1.getRow();
namef=rs1.getString("sname");
int snumf=Integer.parseInt(rs1.getString("sno"));
mark11f=Integer.parseInt(rs1.getString("mark1"));
mark22f=Integer.parseInt(rs1.getString("mark2"));
int totf=Integer.parseInt(rs1.getString("tot"));
System.out.println("Name of the Student :\t"+namef);
System.out.println("Register No :\t\t"+snumf);
System.out.println("\t Subject Name \t\t\tMarks Scored");
System.out.println("\t LAB I\t..JAVA PROGRAMMING\t"+mark11f);
System.out.println("\t LAB II\t..VISUAL PROGRAMMING\t"+mark22f);
System.out.println("\tTOTAL MARKS\t\t:\t"+totf);
System.out.println("\tPERCENTAGE\t\t:\t"+(mark11f+mark22f)/2);


break;
default:            
               

st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
          
rs1 = st.executeQuery("select * from table1");
rm = rs1.getMetaData();
 numoffields = rm.getColumnCount();
do
{
System.out.println("NAVIGATION AMONG RECORDS \n");
System.out.println(" F. Move First Record");
System.out.println(" L. Move Last Record");
System.out.println(" P. Move Previous Record");
System.out.println(" N. Move Next Record");
System.out.println(" S. Move Specific Record");
System.out.println(" n. Move  single Next Record");
System.out.println(" p. Move single Previous Record");
System.out.println("PRESS F/L/P/N/S/p/n");
String  nach =bufin.readLine();
switch(nach)
{
case "F":
System.out.println("FIRSRT RECORD");
rs1.first();
namef=rs1.getString("sname");
int snumf1=Integer.parseInt(rs1.getString("sno"));
mark11f=Integer.parseInt(rs1.getString("mark1"));
mark22f=Integer.parseInt(rs1.getString("mark2"));
int totf1=Integer.parseInt(rs1.getString("tot"));
System.out.println("Name of the Student :\t"+namef);
System.out.println("Register No :\t\t"+snumf1);
System.out.println("\t Subject Name \t\t\tMarks Scored");
System.out.println("\t LAB I\t..JAVA PROGRAMMING\t"+mark11f);
System.out.println("\t LAB II\t..VISUAL PROGRAMMING\t"+mark22f);
System.out.println("\tTOTAL MARKS\t\t:\t"+totf1);           

rs1.beforeFirst();              
break;
case "L":System.out.println("LAST RECORD");
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
               System.out.println();
              
               rs1.last();
              
               for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println(); rs1.afterLast();break;
case "N":System.out.println("NEXT RECORD");
while(rs1.next())
{

namef=rs1.getString("sname");
snumf1=Integer.parseInt(rs1.getString("sno"));
mark11f=Integer.parseInt(rs1.getString("mark1"));
mark22f=Integer.parseInt(rs1.getString("mark2"));
totf1=Integer.parseInt(rs1.getString("tot"));
System.out.println("Name of the Student :\t"+namef);
System.out.println("Register No :\t\t"+snumf1);
System.out.println("\t Subject Name \t\t\tMarks Scored");
System.out.println("\t LAB I\t..JAVA PROGRAMMING\t"+mark11f);
System.out.println("\t LAB II\t..VISUAL PROGRAMMING\t"+mark22f);
System.out.println("\tTOTAL MARKS\t\t:\t"+totf1); 
               System.out.println();
}
break;

case "S":System.out.println("Which Record No is Specific one");
         rno= scanner.nextInt();
rs1.absolute(rno);
System.out.println("NEEDED  RECORD");
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println();break;

case "n" :
try
{
rs1.next();
rno=rs1.getRow();
//rs1.absolute(rno);
System.out.println(rno);
System.out.println("Single NEXT RECORD");
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println();
}
catch(Exception e)
        {
            System.out.println("Reason : This is the Last Record :");
rs1.last();  
        for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println();     
}
break;
case "p":
try
{
rs1.previous();
rno=rs1.getRow();
System.out.println(rno);
//rs1.absolute(rno-1);
System.out.println("Single PREVIOUS RECORD");
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println();
}
catch(Exception e)
        {
            System.out.println("Reason : This is the First Record :");
rs1.first(); for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rm.getColumnName(i)+"\t");
               }
                for( i=1; i<=numoffields; i++)
               {
                   System.out.print(rs1.getString(i) +"\t");
               }
               System.out.println(); 
    
}
break;

default:bufin.close();
        con.close();       
    System.exit(0);break;
}
System.out.println(" do you want to Continue navigation ? press no 0 to exit");
                insch = Integer.parseInt(bufin.readLine());
            }while(insch>0);       
 break;          
 }         
              
           
          
}
       
        catch(Exception e)
        {
            System.out.println("Error :"+e.getMessage());
        }
   
}
}
// Statement s=con.createStatement(RecordSet.Type_SCROLL_SENSITIVE,ResultSet.ConCUR_UPDATABLE/CONCUR_READ_ONLY));
// import java.ResultSet
//set path = C:\Program Files\Java\jdk1.7.0_51\bin
//javac

No comments:

Post a Comment