The inheritance hierarchy for JDBC statements puzzles me a little. Specifically, why would PreparedStatement and CallableStatement want to inherit some of the methods of Statement?
For example, I tried the following:
I tried code similar to the above with MS SQL Server 2000 driver, only to be given an exception. Why does the JDBC API allow this behaviour? Is there ever a reason why you'd do such a thing? Is it a fair statement that some of the Statement methods should never be called on a PreparedStatement (and CallableStatement) instance?