问题描述
try{DBConnectdbc=newDBConnect();try{dbc.setAutoCommit(false);dbc.executeUpdate(Str);System.out.println("执行到此1");dbc.commit();System.out.println("执行到此2");}catch(Exceptionex){System.out.println("执行到此3");System.err.println("SQLException:"+ex.toString());rs="SQLException:"+ex.getMessage();ex.printStackTrace();System.out.println("执行到此4");//dbc.rollback();}finally{try{dbc.close();}catch(Exceptione){System.out.println("执行到此5");}}}catch(Exceptione){System.out.println("执行到此5");}
解决方案
解决方案二:
导入SQL:InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','02057','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','04031','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','06327','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','05276','客户满意度','','','10034asd','test','','','','','2010-04-2112:13:50')执行到此1执行到此2返回值希望抛出异常:varchar无法转换为float型(说明:varchar:10034asd)
解决方案三:
DBConnect部分代码:publicvoidexecuteUpdate(Stringsql)throwsSQLException{if(stmt!=null)stmt.executeUpdate(sql);}publicvoidexecuteUpdate()throwsSQLException{if(prepstmt!=null)prepstmt.executeUpdate();}publicvoidcommit()throwsSQLException{if(conn!=null){conn.commit();}}publicvoidrollback()throwsSQLException{try{conn.rollback();}catch(SQLExceptione){e.printStackTrace();}}publicvoidsetAutoCommit(booleanbl){try{conn.setAutoCommit(bl);}catch(SQLExceptione){e.printStackTrace();}}
解决方案四:
没明白你的意思!
解决方案五:
存在varchar:10034asd,但该列为float型。这样不就应该提示错误了么,进入catch。可是为何没有进入catch抛出异常呢。说明:希望实现功能向表中插入数据,如正确,则全部插入,如任何一条数据有误,则所有数据全部不插入,并提示错误原因。MSSqlServer2000
解决方案六:
catch只有在try部分出了异常才会执行。这是java语言的龟腚
解决方案七:
我看网上都是这样的实现思路阿。。。。而且,很变态:有一次抛出异常了的(varchar无法转化为float),然后,我“优化”了一下代码,结果再也没抛出了。超级郁闷,折腾我2天了