7/27/2019 Termwork of Java
1/56
Q.1 Write an application program to
insert a record in database
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.sql.*;
public class J1 extends JFrame implements ActionListener
{
Container cp;
JTextField t1;
JTextField t2;
JTextField t3;
JTextField t4;
JLabel l1;
JLabel l2;
JLabel l3;
JLabel l4;
JButton b1;
JButton b2;
JButton b3;
7/27/2019 Termwork of Java
2/56
J1()
{
cp=getContentPane();
cp.setLayout(null);
l1=new JLabel("Enter Code");
l1.setBounds(50,50,150,30);
t1=new JTextField();
t1.setBounds(200,50,200,30);
l2=new JLabel("Enter Employee Name");
l2.setBounds(50,100,150,30);
t2=new JTextField();
t2.setBounds(200,100,200,30);
l3=new JLabel("Enter Employee Designation");
l3.setBounds(50,150,150,30);
t3=new JTextField();
t3.setBounds(200,150,200,30);
l4=new JLabel("Enter Salary");
l4.setBounds(50,200,150,30);
t4=new JTextField();
t4.setBounds(200,200,200,30);
b1=new JButton("Save");
7/27/2019 Termwork of Java
3/56
b1.setBounds(50,300,100,30);
b1.addActionListener(this);
b2=new JButton("Reset");
b2.setBounds(170,300,100,30);
b2.addActionListener(this);
b3=new JButton("Cancel");
b3.setBounds(300,300,100,30);
b3.addActionListener(this);
cp.add(l1);
cp.add(t1);
cp.add(l2);
cp.add(t2);
cp.add(l3);
cp.add(t3);
cp.add(l4);
cp.add(t4);
cp.add(b1);
cp.add(b2);
cp.add(b3);
cp.setVisible(true);
cp.setSize(500,700);
}
7/27/2019 Termwork of Java
4/56
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
String s1=null,s2=null,s3=null,s4=null;
int a1=0,a2=0;
s1=t1.getText();
s2=t2.getText();
s3=t3.getText();
s4=t4.getText();
a1=Integer.parseInt(s1);
a2=Integer.parseInt(s4);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection("Jdbc:Odbc:emp");
Statement s=c.createStatement();
int a=0;
a=s.executeUpdate("insert into empinfo values(" +a1+ ",'" +s2+ "','" +s3+ "',"+a2+");");
if(a>0)
JOptionPane.showMessageDialog(this,"data successfully
saved","Message",JOptionPane.PLAIN_MESSAGE);
else
JOptionPane.showMessageDialog(this,"!Error..","Warning",JOptionPane.PLAIN_MESSAGE);
7/27/2019 Termwork of Java
5/56
s.close();
c.close();
}
catch(Exception e1)
{
System.out.println(e1.getMessage());
}
}//end if b1
if(e.getSource()==b2)
{
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
}
if(e.getSource()==b3)
{
System.exit(0);
}
}
public static void main(String...l)throws Exception
{
J1 j=new J1();
j.setVisible(true);
7/27/2019 Termwork of Java
6/56
j.setSize(700,700);
}}
Output:
7/27/2019 Termwork of Java
7/56
Q.2 Write an application program to search,edit and update record in database
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.sql.*;
public class J2 extends JFrame implements ActionListener
{
Container cp;
JTextField t1;
JTextField t2;
JTextField t3;
JTextField t4;
JLabel l1;
JLabel l2;
JLabel l3;
JLabel l4;
JButton b1;
JButton b2;
JButton b3;
JButton b4;
7/27/2019 Termwork of Java
8/56
JButton b5;
J2()
{
cp=getContentPane();
cp.setLayout(null);
l1=new JLabel("Enter Code");
l1.setBounds(50,50,150,30);
t1=new JTextField();
t1.setBounds(200,50,200,30);
l2=new JLabel("Enter Employee Name");
l2.setBounds(50,100,150,30);
t2=new JTextField();
t2.setBounds(200,100,200,30);
l3=new JLabel("Enter Employee Designation");
l3.setBounds(50,150,150,30);
t3=new JTextField();
t3.setBounds(200,150,200,30);
7/27/2019 Termwork of Java
9/56
l4=new JLabel("Enter Saaaalary");
l4.setBounds(50,200,150,30);
t4=new JTextField();
t4.setBounds(200,200,200,30);
b1=new JButton("Search");
b1.setBounds(20,300,90,30);
b1.addActionListener(this);
b2=new JButton("reset");
b2.setBounds(120,300,90,30);
b2.addActionListener(this);
b3=new JButton("delete");
b3.setBounds(220,300,90,30);
b3.addActionListener(this);
b4=new JButton("update");
b4.setBounds(320,300,90,30);
b4.addActionListener(this);
b5=new JButton("exit");
b5.setBounds(420,300,90,30);
7/27/2019 Termwork of Java
10/56
b5.addActionListener(this);
cp.add(l1);
cp.add(t1);
cp.add(l2);
cp.add(t2);
cp.add(l3);
cp.add(t3);
cp.add(l4);
cp.add(t4);
cp.add(b1);
cp.add(b2);
cp.add(b3);
cp.add(b4);
cp.add(b5);
cp.setVisible(true);
cp.setSize(700,700);
}
public void actionPerformed(ActionEvent e)
{
String s1=null,s2=null,s3=null,s4=null;
int a1=0,a2=0;
7/27/2019 Termwork of Java
11/56
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection("Jdbc:Odbc:emp");
Statement s=c.createStatement();
ResultSet rs;
if(e.getSource()==b1)
{
s1=t1.getText();
a1=Integer.parseInt(s1);
rs=s.executeQuery("select * from empinfo where eid="+a1+";");
rs.next();
t2.setText(rs.getString(2));
t3.setText(rs.getString(3));
t4.setText(rs.getString(4));
}
if(e.getSource()==b3)
{
s1=t1.getText();
a1=Integer.parseInt(s1);
int a=s.executeUpdate("delete from empinfo where eid="+a1+";");
if(a>0)
7/27/2019 Termwork of Java
12/56
JOptionPane.showMessageDialog(this,"Record successfully
Deleted","Message",JOptionPane.PLAIN_MESSAGE);
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
}
if(e.getSource()==b2)
{
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
}
if(e.getSource()==b4)
{
s1=t1.getText();
s2=t2.getText();
s3=t3.getText();
s4=t4.getText();
a1=Integer.parseInt(s1);
a2=Integer.parseInt(s4);
int a=0;
a=s.executeUpdate("update empinfo set ename='" +s2+ "',edesig='" +s3+ "',esalary="+a2+"
where eid="+a1+";");
7/27/2019 Termwork of Java
13/56
if(a>0)
JOptionPane.showMessageDialog(this,"data successfully
saved","Message",JOptionPane.PLAIN_MESSAGE);
else
JOptionPane.showMessageDialog(this,"!Error..","Warning",JOptionPane.PLAIN_MESSAGE);
s.close();
c.close();
}//end if b1
if(e.getSource()==b5)
{
System.exit(0);
}
}//end try
catch(Exception e1)
{
System.out.println(e1.getMessage());
}
}
public static void main(String...l)throws Exception
{
J2 j=new J2();
j.setVisible(true);
j.setSize(700,700);
7/27/2019 Termwork of Java
14/56
}
}
Output:
7/27/2019 Termwork of Java
15/56
Q.3 Write an application program to traverse records of a table
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.sql.*;
public class J3 extends JFrame implements ActionListener
{
int lastrow;
ResultSet rs=null;
Statement s=null;
Connection c=null;
Container cp;
JTextField t1;
JTextField t2;
7/27/2019 Termwork of Java
16/56
JTextField t3;
JTextField t4;
JLabel l1;
JLabel l2;
JLabel l3;
JLabel l4;
JButton b1;
JButton b2;
JButton b3;
JButton b4;
JButton b5;
J3()
{
cp=getContentPane();
cp.setLayout(null);
l1=new JLabel("Emp Code");
l1.setBounds(50,50,150,30);
t1=new JTextField();
t1.setBounds(200,50,200,30);
7/27/2019 Termwork of Java
17/56
l2=new JLabel("Employee Name");
l2.setBounds(50,100,150,30);
t2=new JTextField();
t2.setBounds(200,100,200,30);
l3=new JLabel(" Employee Designation");
l3.setBounds(50,150,150,30);
t3=new JTextField();
t3.setBounds(200,150,200,30);
l4=new JLabel("Emp Salary");
l4.setBounds(50,200,150,30);
t4=new JTextField();
t4.setBounds(200,200,200,30);
b1=new JButton("First");
b1.setBounds(20,300,90,30);
b1.addActionListener(this);
b2=new JButton("Last");
b2.setBounds(120,300,90,30);
b2.addActionListener(this);
b3=new JButton("Prev.");
b3.setBounds(220,300,90,30);
7/27/2019 Termwork of Java
18/56
b3.addActionListener(this);
b4=new JButton("Next.");
b4.setBounds(320,300,90,30);
b4.addActionListener(this);
b5=new JButton("exit");
b5.setBounds(420,300,90,30);
b5.addActionListener(this);
cp.add(l1);
cp.add(t1);
cp.add(l2);
cp.add(t2);
cp.add(l3);
cp.add(t3);
cp.add(l4);
cp.add(t4);
cp.add(b1);
cp.add(b2);
cp.add(b3);
cp.add(b4);
cp.add(b5);
cp.setVisible(true);
cp.setSize(700,700);
try
7/27/2019 Termwork of Java
19/56
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c=DriverManager.getConnection("Jdbc:Odbc:emp");
s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=s.executeQuery("select * from empinfo");
rs.last();
lastrow=rs.getRow();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public void actionPerformed(ActionEvent e) {
String s1=null,s2=null,s3=null,s4=null;
int a1=0,a2=0;
try
{
if(e.getSource()==b1)
{
rs.beforeFirst();
rs.next();
t1.setText(rs.getString(1));
t2.setText(rs.getString(2));
7/27/2019 Termwork of Java
20/56
t3.setText(rs.getString(3));
t4.setText(rs.getString(4));
}
if(e.getSource()==b2)
{
rs.afterLast();
rs.previous();
t1.setText(rs.getString(1));
t2.setText(rs.getString(2));
t3.setText(rs.getString(3));
t4.setText(rs.getString(4));
}
if(e.getSource()==b3)
{
rs.previous();
int getrow=rs.getRow();
if(getrow>0)
{
t1.setText(rs.getString(1));
t2.setText(rs.getString(2));
t3.setText(rs.getString(3));
7/27/2019 Termwork of Java
21/56
t4.setText(rs.getString(4));
}
}
if(e.getSource()==b4)
{
int getrow=rs.getRow();
rs.next();
if(getrow
7/27/2019 Termwork of Java
22/56
7/27/2019 Termwork of Java
23/56
Q.4 Write a program search a record of students who has palindrome names
import java.sql.*;
publicclass palindrome_name {publicstaticvoid main(String...args)
{Connection c=null;
Statement s=null;
ResultSet rs=null;try{Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/titu","root","password");
s=c.createStatement();rs=s.executeQuery("select name from student");while(rs.next()){
String s1=rs.getString("name");if(s1.equals(new StringBuffer(s1).reverse().toString()))
{
System.out.println(s1);}
}
}catch(Exception e){System.out.println(e.getMessage());}
}
}
Output:
nitin
7/27/2019 Termwork of Java
24/56
Q.5 Write a program to count number of records of a table
import java.sql.*;
publicclass rowcount {
publicstaticvoid main(String[] args) {Connection c;Statement smt=null;
ResultSet rs=null;
try
{Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/titu",
"root","password");
smt=c.createStatement();
rs=smt.executeQuery("select * from student");rs.last();int a=rs.getRow();System.out.println("number of rows are"+a);
}catch(Exception e){System.out.println(e.toString());}
}
}
Output:
7/27/2019 Termwork of Java
25/56
number of rows are 4
Q.6 Write a program to insert an image in the database
import java.sql.*;
import java.io.*;
class image_insert
{
public static void main(String[] args) {
Connection c=null;
PreparedStatement ps=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/titu";
7/27/2019 Termwork of Java
26/56
c=DriverManager.getConnection(url,"root","password");
File img=new File("D:/images/alert.gif");
FileInputStream fis=new FileInputStream(img);
ps=c.prepareStatement("insert into imagetable values(?,?)");
ps.setInt(1,1);
ps.setBinaryStream(2,(InputStream)fis, (int)(img.length()));
int a=ps.executeUpdate();
ps.close();
if(a>0)
System.out.println("update successful");
else
System.out.println("update unsuccessful");
}
catch(Exception e){System.out.println(e.toString());}
}
7/27/2019 Termwork of Java
27/56
}
Output:
update successful
Q.7 Write a program to retrieve an image from the database
import java.sql.*;
import java.io.*;
public class image_retrieval {
public static void main(String[] args) {
Connection c=null;
Statement s=null;
ResultSet rs=null;
OutputStream out=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/titu";
7/27/2019 Termwork of Java
28/56
c=DriverManager.getConnection(url,"root","password");
s=c.createStatement();
rs=s.executeQuery("select * from imagetable where id=1");
if(rs.next())
{
InputStream x=rs.getBinaryStream(2);
int size=x.available();
out=new FileOutputStream("C:/images/xyz.gif");
System.out.println(retrieved successfully);
byte bt[]=new byte[size];
x.read(bt);
out.write(bt);
out.close();
c.close();
}
}
catch(Exception e){System.out.println(e.toString());}
7/27/2019 Termwork of Java
29/56
}
}
Output:
retrieved successfully
Q.8 Write a program to use IN and OUT parameters both.
/*
delimiter //
create procedure getname(IN rno Int,OUT sname varchar(20))
begin
select name into sname from student where rollno=rno;
end //
*/
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class in_out {
public static void main(String[] args) {
Connection c;
7/27/2019 Termwork of Java
30/56
CallableStatement cs=null;
ResultSet rs=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/titu","root","password");
String str="{call getname(?,?)}";
cs=c.prepareCall(str);
cs.setInt(1,2);
cs.registerOutParameter(2,java.sql.Types.VARCHAR);
cs.execute();
String sname=cs.getString(2);
System.out.println(sname);
}
catch(Exception e){System.out.println(e.toString());}
}
}
Output:
devesh
7/27/2019 Termwork of Java
31/56
Q.9 Write a program to use INOUT parameter.
/*
delimiter //
create procedure getsall(INOUT var int)
begin
select salary into var from empinfo where code=var;
end //
*/
//program of INOUT
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class neww {
public static void main(String[] args) {
Connection c;
CallableStatement cs=null;
7/27/2019 Termwork of Java
32/56
try
{
Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/titu","root","password");
String str="{call getsall(?)}";
cs=c.prepareCall(str);
cs.setInt(1,222);
cs.execute();
cs.registerOutParameter(1,java.sql.Types.INTEGER);
int salary=cs.getInt(1);
System.out.println("salary is "+salary);
}
catch(Exception e){System.out.println(e.toString());}
}
}
Output:
salary is 30000
7/27/2019 Termwork of Java
33/56
Q.10 Write a program to fetch records in a ResultSet object with the help of
stored procedures.
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class resultset_from_storedp {
public static void main(String[] args) {
Connection c;
CallableStatement cs=null;
ResultSet rs=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/titu","root","password");
7/27/2019 Termwork of Java
34/56
String str="{call getresultt(?)}";
cs=c.prepareCall(str);
cs.setString(1,"atul");
rs=cs.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(2));
}
}
catch(Exception e){System.out.println(e.toString());}
}
}
Output:
atul
7/27/2019 Termwork of Java
35/56
Q.1Servlet First Program To Display A Message
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("Hello World!");
out.println("");
out.println("");
out.println("Hello World!");
out.println("");
out.println("");
}
}
7/27/2019 Termwork of Java
36/56
Q2Servlets program accept the request and send the
output
HTML File Program
Calculator Program
Enter Item Name
Enter Item Price
Enter Item Qty
7/27/2019 Termwork of Java
37/56
7/27/2019 Termwork of Java
38/56
7/27/2019 Termwork of Java
39/56
Servlet Program
package myserpackage;
import java.io.IOException;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
publicclass Myservletprog extends HttpServlet
{
protectedvoiddoGet(HttpServletRequest rq, HttpServletResponse response)
throws ServletException, IOException
{
String str =rq.getParameter("str");
char ch;
int ln=str.length();
int i;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
7/27/2019 Termwork of Java
40/56
7/27/2019 Termwork of Java
41/56
Q4 Write a servlet program that display all the records
from the Database table after click on show button from
the html page
HTML Program
Program For Displaying Record
Display Record
7/27/2019 Termwork of Java
42/56
Servlet Program
package myserpackage;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.io.*;
publicclass ShowRecord extends HttpServlet
{
publicvoiddoGet(HttpServletRequest rq, HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter p=res.getWriter();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:emp","","");
Statement st=con.createStatement();
ResultSet rs;
7/27/2019 Termwork of Java
43/56
rs=st.executeQuery("Select * From table1");
p.println("");
p.println("");
p.println("");
p.print("Code");
p.println("NameDesignationSalary");
while (rs.next())
{
p.println("" + rs.getInt(1)+
"" + rs.getString(2)+
""+rs.getString(3)+
""+rs.getInt(4)+
"");
}
p.println("") ;
p.println("") ;
}//End of try
catch(ClassNotFoundException e)
{}
catch(SQLException T)
{}
}
}
7/27/2019 Termwork of Java
44/56
Q.5 Write a program to insert record into Database through Servlet
HTML Program
Enter Code
Enter Name
Enter Designation
Enter Salary
7/27/2019 Termwork of Java
45/56
Servlet Program
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Servletadd extends HttpServlet
{
public void doGet(HttpServletRequest rq, HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter p=res.getWriter();
int ecode=Integer.parseInt(rq.getParameter("cd"));
String ename=rq.getParameter("nm"));
String edesig=rq.getParameter("des"));
int esal=Integer.parseInt(rq.getParameter("sal"));
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:san","","");
PreparedStatement ps=con.prepareStatement("insert into table1 values(?,?,?,?)");
7/27/2019 Termwork of Java
46/56
7/27/2019 Termwork of Java
47/56
Q.6 Write a program to Update record using servlet
HTML Program
Enter Code For Modification
Servlet Program6(1)Part
import java.sql.*;
7/27/2019 Termwork of Java
48/56
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Servletmod extends HttpServlet
{
public void doGet(HttpServletRequest rq, HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter p=res.getWriter();
int mcode;
int rt;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:san","","");
Statement stmt=con.createStatement();
String buff;
ResultSet rs;
mcode=Integer.parseInt(rq.getParameter("cd"));
rs=stmt.executeQuery("select * from table1 where code="+mcode);
int i=0;
while(rs.next())
{
i++;
7/27/2019 Termwork of Java
49/56
p.println("");
p.println("");
p.println("");
p.println("MODIFICATION FORM");
p.println("");
p.println("Code");
p.println("
");
p.println("Name");
p.println("
");
p.println("Designation");
p.println("
");
p.println("Salary");
p.println("
");
p.println("");
p.println("");
p.println("");
}
if(i==0)
{
p.println("");
p.println("");
p.println("");
p.println("Record Not Found");
p.println("");
7/27/2019 Termwork of Java
50/56
7/27/2019 Termwork of Java
51/56
7/27/2019 Termwork of Java
52/56
p.println("");
p.println("");
p.println("");
p.println("Record Not Updated");
p.println("");
}
}//End of try
catch(ClassNotFoundException e)
{}
catch(SQLException T)
{}
}
}
7/27/2019 Termwork of Java
53/56
Q.7Write a program to Delete record using servlet
HTML Program
Enter Code For Deletion
7/27/2019 Termwork of Java
54/56
Servlet Program
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Servletdel extends HttpServlet
{
public void doGet(HttpServletRequest rq, HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter p=res.getWriter();
int mcode;
int rt;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:san","","");
Statement stmt=con.createStatement();
7/27/2019 Termwork of Java
55/56
String buff;
ResultSet rs;
mcode=Integer.parseInt(rq.getParameter("cd"));
rs=stmt.executeQuery("select * from table1 where code="+mcode);
int i=0;
while(rs.next())
{
i++;
}
if(i>0)
{
buff="delete from table1 where code="+mcode;
rt=stmt.executeUpdate(buff);
}
if(i>0)
{
p.println("");
p.println("");
p.println("");
p.println("Record Deleted");
}
else
{
p.println("");
p.println("");
7/27/2019 Termwork of Java
56/56
p.println("");
p.println("Record Not Found");
}
p.println("");
}
catch(ClassNotFoundException e)
{}
catch(SQLException T)
{}
}
}
Top Related