日期:2014-05-20  浏览次数:20762 次

很简单的问题
Statementstm=null; connection con = null;

具体解释一下什么意思``

------解决方案--------------------
Statement stm=null; Statement 叫数据库操作对象,可以通过这个对象对数据库进行,增 删 改 查 等操作 

Connection con = null; Connection 叫数据库连接对象,可以通过该对象与数据库连接 .


应该是先 连接 后 操作


------解决方案--------------------
Statement stm=null表示Statement的对象不指向任何东西, 这时候如果你操作了stm对象,就会抛出一个空指针异常(NullPointerException),在操作数据库结果的时候,通常在关闭了Statement、Connection对象(即调用stm.close();)后,要把对象置空,这样可以防止多线程里同步引起的问题。
比如在对象池里有若干连接对象,C1,C2,C3,我们在用完C1后,调用c1.close();此时c1对象归还给对象池,这时候c1对象又被另一个B线程引用,而在我们的程序中,可能会因为把关闭对象的操作放在try{}catch{}default中多次关闭,所以在B线程中再操作c1的时候就会产生异常。所以一般在关闭了连接对象后一般还要将它置空。