Upwork/oDesk JDBC 2.1 Test
·
1. Please select all the correct
options. JDBC Driver Manager is:
Answers:
• Able to activate
registered drivers
• Able to activate
unregistered drivers
• Not required
for activation of drivers with DataSource
• Required for activation of
drivers with DataSource
2. Under which category does the following
driver fall:
WebLogic's Tengah "all Java Type-3
driver"
Answers:
• JDBC-ODBC
Bridge Driver
• Native-API
Partly-Java Driver
• Net-Protocol All-Java
Driver
• Native-Protocol
All-Java Driver
• Native-Protocol
Part-Java Driver
3. Which JDBC driver is considered best in
terms of performance and efficiency?
Answers:
• Type-1 Driver
• Type-2 Driver
• Type-3 Driver
• Type-4 Driver
4. Consider the following statement:
PreparedStatement ps=con.prepareStatement("INSERT
INTO ORDER (CUSTOMER_ID ,PRICE) VALUES(?,?)");
Which of the following should come after this
statement?
Answers:
• ps.clearParameters();
ps.setInt(1,3); ps.setDouble(2,790.50); ps.executeUpdate(sql);
•
ps.clearParameters(); ps.setInt(1,3); ps.setDouble(2,790.50);
ps.executeUpdate();
• ps.clear();
ps.setInt(1,3); ps.setDouble(2,790.50); ps.executeUpdate(sql);
•
ps.clearParameters(); ps.setInt(1,3.09); ps.setDouble(2,790.50);
ps.execute(sql);
•
ps.clearParameters(); ps.setDouble(2,790.50); ps.execute(sql);
5. You want to start a transaction for bank
account processing. Which of the following methods will you execute on the
Connection object to begin it?
Answers:
• con.setAutoCommit(false);
•
con.setCommit(false);
• con.setAutoCommit();
•
con.setAutoCommit(true);
•
con.autoCommit();
6. You need to use a third party driver for
establishing a connection with the database. The subprotocol is
"webx" and the DSN is "webdsn". What is the syntax of the
URL?
Answers:
•
jdbc:odbc:webx:webdsn
•
odbc:jdbc:webx:webdsn
• jdbc:webx:webdsn
•
thin:jdbc:odbc:dsn:webdsn
•
thick:jdbc:odbc:dsn:webdsn
• None of the
above
7. You have to handle an erroneous situation
in a transaction. Which method comes handy in this case?
Answers:
•
con.commit(false);
• con.commit();
• con.rollback();
•
con.revertback();
•
con.rollback(true);
8. How will you create a new instance of a
JDBC driver explicitly?
Answers:
•
Class.forName("driver");
•
Class.newInstance("driver");
•
Class.driver("driver");
•
Class.getDriver("driver");
•
Class.forName("driver").newInstance();
9. JDBC is based on:
Answers:
• X/Open CLI (Call Level
Interface)
• JDBC/Open CLI
• Java/Open CLI
• V/OPEN CLI
• X/Close CLI
10. You are developing a shopping cart for
your client. Where would you like to put your business logic?
Answers:
• Inside the
database
• Inside the
client application
• In middleware servlets
• In COM / DCOM
components
• Inside the code
for the cart
11. You want to execute the following query string,
using the connection named "con":
String query = "SELECT * FROM
CUSTOMER";
What should the syntax be?
Answers:
• Statement
stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(query);
• Statement
stmt=new Statement(); ResultSet rs=stmt.executeQuery(query);
• Statement
stmt=con.createStatement(); ResultSet rs=stmt.execute(query);
• Statement
stmt=con.getStatement(); ResultSet rs=stmt.executeQuery(query);
• Statement
stmt=con.getStatement(); ResultSet rs=con.executeQuery(query);
12. Which exception will be thrown in your
code, if the specified driver could not be loaded?
Answers:
•
ActivationException
• ClassNotFoundException
•
ClassNotAvailableException
•
ClassUnavailableException
•
InstantiationException
13. A process allows you to group multiple SQL
statements. Commit or Rollback can be performed on the group together. This
process is known as:
Answers:
• Binding
• Synchronization
• Registry
• Transaction
• Late binding
14. Which of the following JDBC methods is
used for retrieving large text strings?
Answers:
• getBinaryStream
• getText
• getAsciiStream
• getString
• getObjectStream
15. Open Database Connectivity is:
Answers:
• Platform independent
• Platform
dependent
• Architecture
neutral
• Network
independent
• Machine
independent
16. Which of the following methods eliminates
the need to call wasNull() method to handle null database fields?
Answers:
• getObject();
• getInt();
• getString();
• getFloat();
• getNull();
17. Transactions have a property called
atomicity, which means:
Answers:
• Everything
takes place one by one
• Everything takes place
once
• Everything
takes place randomly
• Everything
takes place twice
• Everything
takes place thrice
18. What should the syntax be to establish a
connection with a Database?
Answers:
• Connection con =
DriverManager.getConnection(url,"myLogin", "myPassword");
• Connection con
= DriverManager.getConnection("myLogin", "myPassword",url);
• Connection con
= DriverManager.getConnection("myLogin", "myPassword");
• Connection con
= DriverManager.setConnection(url,"myLogin", "myPassword");
• Connection con
= DriverManager.createConnection(url,"myLogin",
"myPassword");
19. ResultSet objects follow index patterns
of:
Answers:
• Array standard
• Java standard
• RDBMS standard
• C++ standard
• PL/SQL standard
20. When you are handling user-submitted SQL,
you may retrieve a ResultSet or a count. Which of the following methods is
handy in this situation?
Answers:
• executeQuery()
• exceuteUpdate()
• execute()
•
executeQueryUpdate()
• update()
21. You want to execute a CallableStatement
named 'cs'. It is expected to return multiples results. Which of the following
methods will you choose?
Answers:
• ResultSet
rs=cs.execute()
• ResultSet
rs=cs.executeQuery()
• ResultSet
rs=cs.executeUpdate()
• ResultSet
rs=cs.executeQuery(sql)
• ResultSet
rs=execute()
22. Your project leader has asked you to
improve the performance of JDBC connectivity by reusing objects in your
Servlet's code. Which of the following is an appropriate solution?
Answers:
• Reuse the
database connection and reuse PreparedStatement objects
• Reuse the database
connection and use PreparedStatement objects with synchronized blocks
• Reuse the
database connection only
• Reuse the
PreparedStatement objects only
• Reuse the
GetPreparedStatement objects only
23. Which of the following methods will you
use to execute INSERT, UPDATE and DELETE SQL statements?
Answers:
• executeQuery();
• executeUpdate();
•
executeQueryUpdate();
• update();
• query();
24. How do you register a JDBC driver?
Answers:
•
Class.forName("driver");
•
Class.newInstance("driver");
•
Class.driver("driver");
• Class.getDriver("driver");
•
Class.postDriver("driver");
25. Which of the following JDBC methods is
used for retrieving large binary objects?
Answers:
• getBinaryStream
• getText
• getAsciiStream
• getString
• getObjectStream
26. Name the interface you will use to
retrieve the underlying structure of the query result:
Answers:
• ResultSet
• ResultSetMetaData
• ResultStructure
• Result
• ResultMetaData
27. Which type of statement object will you
use to execute a stored procedure?
Answers:
• Statement
•
PreparedStatement
• CallableStatement
• StoredStatement
• Stat
28. A warning can be thrown by a Connection
object, a Statement object or a ResultSet object. Which method is used to
retrieve the warning:
Answers:
• getWarnings()
• getWarned()
• getWarning()
• getError()
•
getErrorsWarning()
29. You have obtained a ResultSet object named
'rs' after executing the following query:
SELECT * FROM CUSTOMER
Which loop can you use to return all the
records in the ResultSet?
Answers:
• while(rs.next())
•
while(rs.hasNext())
• while(true)
•
while(rs.nextElement())
30. You executed a query to retrieve 40
products from the database and obtained a scrollable ResultSet named
'scrollrs'. You started scrolling the ResultSet as follows:
scrollrs.next();
scrollrs.absolute(-10);
scrollrs.relative(-6);
At which row number is the cursor currently
located?
Answers:
• 16
• 24
• 26
• 17
• 6
31. The code segment below defines a query:
String qry="SELECT CUS_NAME, PRICE FROM
CUSTOMER";
Which of the following code snippets will
create a scrollable ResultSet?
Answers:
• Statement
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet srs=st.executeQuery(qry);
• Statement
st=con.createStatement(qry,ResultSet.CONCUR_READ_ONLY,ResultSet.TYPE_SCROLL_SENSITIVE);
ResultSet srs=st.executeQuery();
• Statement
st=con.createStatement(qry,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet srs=st.executeQuery();
• Statement
st=con.createStatement(ResultSet.CONCUR_READ_ONLY,ResultSet.TYPE_SCROLL_SENSITIVE);
ResultSet srs=st.executeQuery(qry);
32. Which of the following is the syntax for
creating a CallableStatement?
Answers:
• CallableStatement
cs=con.prepareCall("{call SHOW_ORDER}")
•
CallableStatement cs=con.prepareCall('{call SHOW_ORDER}')
•
CallableStatement cs=con.prepareCall("(call SHOW_ORDER)")
•
CallableStatement cs=con.prepareCall("call SHOW_ORDER")
•
CallableStatement cs=prepareCall("call SHOW_ORDER")
33. Which of the following is not true for a
ResultSet?
Answers:
• JDBC 2.0 API
supports Scrollable ResultSets
• ResultSet
cursors are moved forward using next() method
• ResultSet
cursors are moved backwards using previous() method
• Methods next() and
previous() return -1 beyond the ResultSet
34. Java Database Connectivity (JDBC) is a:
Answers:
•
Database-dependent API
• Database-independent API
•
Machine-dependent API
•
Network-dependent database API
35. Servlet developers should avoid using
JDBC-ODBC bridge driver because:
Answers:
• Drivers are
bundled with JDK
• The driver's
native code can crash the entire server
• The driver is
not secure
• The driver is of Type-1
• The driver is
of Type-2
36. You have obtained a scrollable ResultSet
named 'srs' by executing a query. Which of the following methods will you use
to verify the position of the cursor?
Answers:
•
srs.relative(-4)
• srs.relative()
•
srs.absolute(-4)
• srs.getRow()
• srs.postRow()
37. A user leaves an online shopping cart without
checking out. Which of following interfaces will notify to Rollback the
transaction?
Answers:
• HttpSession
• HttpSessionBindingListener
• HttpServlet
•
SingleThreadModel
• FtpSession
38. After executing the following code, resultvar
contains false. What should the next step be?
boolean resultvar=stmt.execute(sql);
Answers:
•
stmt.getResultSet();
• stmt.getUpdateCount();
•
stmt.executeUpdate();
•
stmt.executeQuery();
•
stmt.executeUpdateQuery();
39. SQLException has a method, which provides
the feature of chaining or encapsulation of additional Exception objects.
Identify the method from the following:
Answers:
• getEncapsulatedException()
•
getEncapException()
• getMessage()
•
getNextException()
• getException()
40. Your project leader has given you a new
task. You have to work on a module in which the transaction has to be extended
across multiple page requests and multiple servlets. How will you implement
this?
Answers:
• By
synchronizing the doPost() method
• By creating a
new connection for each transaction
• By session tracking and
using HttpSession to hold a connection for each user
• By creating a
single connection in the init() method and implementing SingleThreadModel
• By
synchronizing doGet ()
41. SQLWarning object deals with database
access warnings. It is a subclass of:
Answers:
• SQLWarn
• SQLException
• SQLError
• SQLWarning
•
SQLErrorsWarning
42. Will the below script execute properly?
1.CREATE TABLE
CUSTOMER
2.(
3.CUS_NAME VARCHAR(32), SUP_ID INTEGER, PRICE
FLOAT, SALES INTEGER
4.)
Answers:
• Yes. The table will be
created successfully.
• No. Line 3
should be modified to: VARCHAR(32) CUS_NAME,INTEGER SUP_ID ,FLOAT PRICE ,
INTEGER SALES
• No. Line 3
should be modified to: 'CUS_NAME VARCHAR(32)','SUP_ID INTEGER',' PRICE FLOAT',
'SALES INTEGER'
• No. Line 3
should be modified to: 'CUS_NAME' VARCHAR(32),'SUP_ID' INTEGER,'PRICE' FLOAT,
'SALES' INTEGER
43. You are trying to connect to a database
through JDBC. There is a problem with one of the methods immediately after the
driver has been loaded. Which exception will be thrown?
Answers:
•
ClassNotFoundException
• SQLException
•
SQLNotFoundException
•
ActivationException
• JDBCException
44. Which of the following is not true?
Answers:
•
CallableStatement is a subclass of PreparedStatement
•
CallableStatement can take PreparedStatement as an input parameter
•
CallableStatement can use executeUpdate() method
•
CallableStatement can use execute() method
•
CallableStatement cannot take INOUT parameters