Skip to main content

JDBC FAQ Part13

28: how to display the data with the respective field names
import java.sql.*;
public class RSMD1
{
            public static void main(String[] args)throws Exception
            {
                        Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection con = DriverMadoeer.getConnection(“jdbc:odbc:doe”,”system”,”jhon”);
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSEITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = st.executeQuery(“select * from emp1”);
                                    ResultSetMetaData rsmd = rs.getMetaData();
System.out.println(rsmd.getColumnName(1)+”     “+rsmd.getColumnName(2)+”   “+rsmd.getColumnName(3)+”       “+rsmd.getColumnName(4));
System.out.println(“********************************”);
while(rs.next())
{
System.out.println(rs.getInt(1)+”    “+rs.getString(2)+”    “rs.getFloat(3)+”    “+rs.getString(4));
                                    }
                        }
            }
29:  What are the differences between Statement and PreparedStatement?
(or)
Tell me the situations where we should go for PreparedStatement over Statement object.
Ans:
  • When we have a requirement to execute same kind of sql query in the next sequence then we should go for PreparedStatement over Statement object.
  • For the above requirement if we use Statement object, every time execution of the same sql query DBE must perform query tokenization, query parsing, query optimization and query execution.
  • This approach will increase burden to the DBE. To reduce burden to the DBE we should go for an alternative. That is PreparedStatement over Statement object.
  • For the same requirement if we use PreparedStatement object then for our complete requirement DBE will go for only one time query parsing (tokenization, parsing, optimization and execution);
If we want to use PreparedStatement object for the above requirement then
we will use following steps.
Step1:  Prepare  PrepareStatement object by providing generalized sql query format with the required number of parameters, for this we will use the following method from Statement object.
            public PreparedStatement prepareStatement(String  sqlqueryformat)
Eg:  PreparedStatement pst = con.prepareStatement(“insert into emp1        values(?,?,?,?)”);
            When JVM encounters above instruction jvm will pickup specified generalized sql query format and send to the DBE, here DBE will process query format only one time and prepare a Buffer with the specified parameters, called as “query plan”. As a result PreparedStatement object will be created with the parameters at java side.
Step2:   Set the values to parameters in PreparedStatement object. After getting PreparedStatement object with parameters, we need to set some values to perform an operation, for this we will use the following method.
            public void setXxx(int parano,xxx value)
            where xxx may be byte, short, char, int, long, float, double.
Eg:  pst.setInt(1,111);
        pst.setString(2,”abc”);
            When  JVM  encounters the above method then jvm will set the specified values to the specified parameters at the PreparedStatement object, intern that parameter values could be reflected to query plan.
Step3: Given an intimation to DBE to perform the respective operation. After setting the values to the parameters we should give an intimation to the DBE explicitly pickup the values from query plan and perform the operation specified in generalized sql query format, for this we will use the following methods.
  • If the generalized sql query belongs to selection group then we will use following method from PreparedStatement object
public ResultSet executeQuery(…)
  • If the generalized sql query belongs to updation group then we will use the following method.
public int executeUpdate(…)
30:  Hhow to insert number of records into a table through Prepared Statement object.

import java.sql.*;
import java.io.*;
public class PreparedInsertEx
{
            public static void main(String[] args)throws Exception
            {
                        Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection con = DriverMadoeer.getConnection(“jdbc:odbc:doe”,”system”,”jhon”);
PreparedStatement pst= con.prepareStatement(“insert into emp1 values(?,?,?,?)”);
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
while(true)
{
;                    }
            }
           

Comments

Popular posts from this blog

Applications of Insulating Materials

All electrical systems require some kind of insulation to prevent short circuits and leaking currents. 3 forms of insulators: solid, liquid and gaseous Performance of these insulators depend on the temperature Classification according to their temperature rating. Impregnation: Letting the solid material absorb some liquid With the advent of new materials, the classification has been modified by International Electrotechnical Commission: The transformer insulation: (a) conductor or turn-to-turn insulation, (b) coil-to-coil insulation, (c) low voltage coil-to-earth insulation, (d) high voltage coil-to-low voltage coil insulation, and (e) high voltage coil-to-ground insulation. Transformer oil -- provides the required dielectric strength and insulation -- cools the transformer by circulating itself through the core and the coil structure. -- should be in the liquid state over the complete operating range of temperatures between -40°C and+50°C. -- gets o...

MULTILEVEL INVERTER

                                       MULTILEVEL INVERTER Historical Review From the late nineteenth century through the middle of the twentieth century, DC-to-AC   power conversion   was accomplished using   rotary converters   or   motor-generator   sets (M-G sets). In the early twentieth century,   vacuum tubes   and   gas filled tubes began to be used as switches in inverter circuits. The most widely used type of tube was the   thyratron . The origins of electromechanical inverters explain the source of the term   inverter . Early AC-to-DC converters used an induction or synchronous AC motor direct-connected to a generator (dynamo) so that the generator's commutator reversed its connections at exactly the right moments to produce DC. A later development is the synchronous converter, in which the motor and generator windin...

JSTL-JSP Standard Tag Library part 2

Evolution of JSTL-JSP Standard Tag Library As JSP grew in popularity, it became clear that different sites' custom tags fell into familiar, frequently used patterns. For example, many pages needed to loop over data to print tables and lists. Vendors of JSP containers and members of the open-source community tried to address these needs by providing collections of tags --tag libraries--that solved common problems. While many JSP page authors used these libraries, nothing tied them together. To address this fragmentation, the Java Community Process --the same group that now maintains and standardizes JSP itself --decided to offer a standard tag library. JSTL 1.0, to include tags for the following common tasks:          •Looping over data to produce tables, lists, etc.          •Conditional operations          •Importing and processing data from other web pages         ...