How do you know in your Java program that a SQL warning is generated as a result of executing a SQL statement in the database?
-
O (a) You must catch the checked SQLException which is thrown by the method which executes
-
O (b) You must catch the unchecked SQLWarningException which is thrown by the method
-
O (c) You must invoke the getWarnings() method on the Statement object (or a sub interface
-
O (d) You must query the ResultSet object about possible warnings generated by the database
To know in your Java program that a SQL warning is generated as a result of executing a SQL statement in the database, you must invoke the getWarnings() method on the Statement object (or a sub interface). Therefore, option C is the correct answer.
Option A is incorrect because SQLException is thrown when an SQL error occurs, not a warning. It is a checked exception and must be caught or declared to be thrown.
Option B is incorrect because SQLWarningException is not a valid exception class in Java. SQLWarning is the class that represents a warning issued by the database.
Option D is incorrect because ResultSet object is used to retrieve data from the database after executing a query, not to retrieve warnings.
Therefore, the correct answer is:
The Answer is: C. O (c) You must invoke the getWarnings() method on the Statement object (or a sub interface).
JDBC does not throw an exception for warnings (they aren't fatal), so the only way to discover them is to explicitly call getWarnings() on the Statement (or Connection/ResultSet) object after execution, which returns a chained SQLWarning object if one exists. There's no SQLWarningException type, and the ResultSet isn't queried for warnings related to statement execution the way the option describes.