MCS-051 : ADVANCED INTERNET TECHNOLOGIES | 1. (a) Write a web application using JSP and JDBC that takes a bank account number as input and displays the account balance.

 

MCS-051 : ADVANCED INTERNET TECHNOLOGIES | 1. (a) Write a web application using JSP and JDBC that takes a bank account number as input and displays the account balance. Assume that the balance after every transaction is available in the database 

MCA (Revised)
Term-End Examination
June, 2021
MCS-051 : ADVANCED INTERNET TECHNOLOGIES

 1. (a) Write a web application using JSP and JDBC that takes a bank account number as input and displays the account balance. Assume that the balance after every transaction is available in the database.                                                                                                                                                 7

To watch this video click on the following Picture

Design Home Page (index.html)


 CODE FOR INDEX.HTML

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body bgcolor="lightyellow">
    <center>
        <div>
            <h1>Check Current Balance</h1>
            <form method="post" action="check_balance.jsp">
                <table border="1" bgcolor="lightgreen">
                    <tr>
                        <td><label>Enter Account Number</label></td><td><input type="text" name="ano"></td>
                    </tr>
                    <tr>
                        <td colspan="2" align="center"><input type="submit" value="Submit"></td>
                    </tr>
                </table>
            </form>
        </div>
            <hr>
            <div>
            <h1>Update Balance</h1>
            <form method="post" action="update_account.jsp">
              <table border="1" bgcolor="lightblue">
                  <tr>
                        <td><label>Enter Account Number</label></td><td><input type="text" name="ano"></td></tr>
                    <tr>
                        <td><label>Transaction Amount</label></td><td><input type="text" name="amt"></td>
                    </tr>
                                        <td colspan="2" align="center"><input type="Submit" value="Submit"></td>
                    </tr>
                </table>    
            </form>
        </div>
    </center>
    </body>
</html>

TODO supply a title

Check Current Balance


Update Balance

Design CHECK_BALANCE Page (check_balance.jsp)


 CODE FOR CHECK_BALANCE.JSP

<%--

    Document   : check_balance

    Created on : 10 Mar, 2022, 11:12:49 AM

    Author     : Nitin

--%>


<%@page import="java.sql.DriverManager"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@page import="java.sql.*"%>

<!DOCTYPE html>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>JSP Page</title>

    </head>

    <body bgcolor="DodgerBlue">

    <center><h1>Your Current Balance</h1></center>

        <%

            try{

            String an=request.getParameter("ano");

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/dtm", "root","");

            Statement st=conn.createStatement();

            ResultSet rs=st.executeQuery("select * from tr where ano='"+an+"'");

            out.println("<table border='1' width='50%' bgcolor='lightblue' align='center'>");

out.println("<tr><th>Account Number</th><th>Customer Name</th><th>Balance</th><th>Transactio date</th></tr>");

while(rs.next())

 out.println("<tr align='center'><td>"+rs.getString(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td></tr>");

out.println("</table>");

conn.close();


            }catch(Exception e)

            {

                out.println(e);

            }

            %>

    </body>

</html>

 

 Design UPDATE_ACCOUNT Page (update_account.jsp)

 


  CODE FOR UPDATE_ACCOUNT.JSP

<%--

    Document   : update_acount

    Created on : 10 Mar, 2022, 1:16:51 PM

    Author     : Nitin

--%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@page import="java.sql.*" %>

<!DOCTYPE html>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>JSP Page</title>

    </head>

    <body bgcolor="lightseagreen">

    <center>

        <h1>Your Account has been updated!</h1>

        

        <%

            try{

            String ano=request.getParameter("ano");

            double amt=Double.parseDouble(request.getParameter("amt"));

            out.println("<table border='1'><tr><th colspan='2'>Account Summary</th></tr><tr><td>");

            out.println("Account number</td><td>"+ano+"</td></tr><tr><td>");

            out.println("Transaction Amount </td><td> "+amt+"</td></tr></table>");

            Class.forName("com.mysql.jdbc.Driver");

            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dtm","root","");

            Statement st=con.createStatement();

            String q1="select bal from tr where ano='"+ano+"'";

            ResultSet rs=st.executeQuery(q1);

            while(rs.next())

            out.println("</br></br><h3>Your Balance Before This transaction : "+rs.getString(1)+"</h3>");

            String query="update tr set bal=bal+"+amt+"where ano='"+ano+"'";

            st.executeUpdate(query);

            String q2="select bal from tr where ano='"+ano+"'";

            rs=st.executeQuery(q2);

            while(rs.next())

            out.println("</br></br><h3>Now Your Available Balance : "+rs.getString(1)+"</h3>");

                    

            }

            catch(Exception e)

            {

                out.println(e);

            }

            

            

            out.println();

            

            %>

    </center>

    </body>

</html>

 

 MySQL Queries for Above Web Application

MySQL Related

-------------------------------------
mysql> SET time_zone = '+05:30';
Query OK, 0 rows affected (0.01 sec)
-------------------------------------

mysql> create database dtm;
Query OK, 1 row affected (0.02 sec)

mysql> use dtm;
Database changed

mysql> create table tr
    -> (ano varchar(10), cname varchar(50), Bal numeric(12,2), tdt timestamp);
Query OK, 0 rows affected (0.10 sec)

mysql> insert into tr
    -> values('a101', 'Ramesh', 10545.35,now());
Query OK, 1 row affected (0.15 sec)

mysql> select * from tr;
+------+--------+----------+---------------------+
| ano  | cname  | Bal      | tdt                 |
+------+--------+----------+---------------------+
| a101 | Ramesh | 10545.35 | 2022-03-09 20:48:31 |
+------+--------+----------+---------------------+
1 row in set (0.02 sec)

mysql> update tr
    -> set bal=bal-500
    -> where ano='a101';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from tr;
+------+--------+----------+---------------------+
| ano  | cname  | Bal      | tdt                 |
+------+--------+----------+---------------------+
| a101 | Ramesh | 10045.35 | 2022-03-09 20:51:27 |
+------+--------+----------+---------------------+
1 row in set (0.00 sec)

mysql> insert into tr
    -> values('a102', 'Suresh', 14735.65,'2022-02-09 15:45:30');
Query OK, 1 row affected (0.02 sec)

mysql> select * from tr;
+------+--------+----------+---------------------+
| ano  | cname  | Bal      | tdt                 |
+------+--------+----------+---------------------+
| a101 | Ramesh | 10045.35 | 2022-03-09 20:51:27 |
| a102 | Suresh | 14735.65 | 2022-02-09 15:45:30 |
+------+--------+----------+---------------------+
2 rows in set (0.00 sec)

mysql> update tr
    -> set bal=bal-500
    -> where ano='a102';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from tr;
+------+--------+----------+---------------------+
| ano  | cname  | Bal      | tdt                 |
+------+--------+----------+---------------------+
| a101 | Ramesh | 10045.35 | 2022-03-09 20:51:27 |
| a102 | Suresh | 14235.65 | 2022-03-09 20:54:37 |
+------+--------+----------+---------------------+
2 rows in set (0.00 sec)

mysql>

 

Other MySQL Queries

mysql> use dtm;
Database changed

mysql> show tables;

mysql> create table ms
    -> (ano varchar(12), cname varchar(50), tdate timestamp,
    -> primary key(ano,tdate)
    -> );
Query OK, 0 rows affected (1.54 sec)


mysql> alter table ms
    -> add column bal numeric(12,2);
Query OK, 0 rows affected (3.50 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> describe ms;
+-------+---------------+------+-----+-------------------+-----------------------------+
| Field | Type          | Null | Key | Default           | Extra                       |
+-------+---------------+------+-----+-------------------+-----------------------------+
| ano   | varchar(12)   | NO   | PRI |                   |                             |
| cname | varchar(50)   | YES  |     | NULL              |                             |
| tdate | timestamp     | NO   | PRI | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| bal   | decimal(12,2) | YES  |     | NULL              |                             |
+-------+---------------+------+-----+-------------------+-----------------------------+

4 rows in set (1.19 sec)

mysql> insert into ms
    -> values('a101','Gaurav','05-01-22 15:45:20',10500.65);
Query OK, 1 row affected (0.04 sec)

mysql> select * from ms;
+------+--------+---------------------+----------+
| ano  | cname  | tdate               | bal      |
+------+--------+---------------------+----------+
| a101 | Gaurav | 2005-01-22 15:45:20 | 10500.65 |
+------+--------+---------------------+----------+
1 row in set (0.00 sec)

mysql> insert into ms
    -> values('a101','Gaurav',now(),-500);
Query OK, 1 row affected (0.13 sec)

mysql> select * from ms;
+------+--------+---------------------+----------+
| ano  | cname  | tdate               | bal      |
+------+--------+---------------------+----------+
| a101 | Gaurav | 2005-01-22 15:45:20 | 10500.65 |
| a101 | Gaurav | 2022-03-10 12:46:31 |  -500.00 |
+------+--------+---------------------+----------+
2 rows in set (0.00 sec)

mysql> create table cb
    -> (ano varchar(12), abal numeric(12,2));
Query OK, 0 rows affected (0.45 sec)


mysql> insert into cb
    -> values('a101', (select distinct sum(bal) from ms where ano='a101'));


mysql> select * from cb;
+------+----------+
| ano  | abal     |
+------+----------+
| a101 | 10000.65 |
+------+----------+
1 row in set (0.00 sec)

mysql> insert into ms
    -> values('a102','Vikas','2022-02-01 10:20:25',5000),('a102','Vikas',now(),-300);
Query OK, 2 rows affected (0.22 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> insert into cb
    -> values('a102', (select distinct sum(bal) from ms where ano='a102'));

mysql> select * from cb;
+------+----------+
| ano  | abal     |
+------+----------+
| a101 | 10000.65 |
| a102 |  4700.00 |
+------+----------+
2 rows in set (0.00 sec)

mysql> 


 

You can also visit my YouTube Channel Gaurav Pali MCA

Popular posts from this blog

IGNOU Solved Assignment 2023-24 | BCS-012 Basic Mathematics BCA(I)012/Assignment/2023-24

MCS054 TEE June 2021 Q1(b) | Bisection Method