 checkException(t);
		}
	}

	public CallableStatement prepareCall(String sql) throws SQLException {
		checkTransaction();
		try {
			return new WrappedCallableStatement(this, mc.prepareCall(sql, ResultSet.TYPE_FORWARD_ONLY,
					ResultSet.CONCUR_READ_ONLY));
		} catch (Throwable t) {
			throw checkException(t);
		}
	}

	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
		checkTransaction();
		try {
			return new WrappedCallableStatement(this, mc.prepareCall(sql, resultSetType, resultSetConcurrency));
		} catch (Throwable t) {
			throw checkException(t);
		}
	}

	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency,
			int resultSetHoldability) throws SQLException {

		checkTransaction();
		try {
			return new WrappedCallableStatement(this, mc.getConnection().prepareCall(sql, resultSetType,
					resultSetConcurrency, resultSetHoldability));
		} catch (Throwable t) {
			throw checkException(t);
		}
	}

	public String nativeSQL(String sql) throws SQLException {
		checkTransaction();
		try {
			return mc.getConnection().nativeSQL(sql);
		} catch (Throwable t) {
			throw checkException(t);
		}
	}

	public void setAutoCommit(boolean autocommit) throws SQLException {
		checkStatus();
		mc.setJdbcAutoCommit(autocommit);
	}

	public boolean getAutoCommit() throws SQLException {
		checkStatus();
		return mc.isJdbcAutoCommit();
	}

	public void commit() throws SQLException {
		checkTransaction();
		mc.jdbcCommit();
	}

	public void rollback() throws SQLException {
		checkTransaction();
		mc.jdbcRollback();
	}

	public void rollback(Savepoint savepoint) throws SQLException {
		checkTransaction();
		mc.
checkException(t); 
		 } 
	 } 

	 public CallableStatement prepareCall(String sql) throws SQLException { 
		 checkTransaction (); 
		 try { 
			 return new WrappedCallableStatement(this, mc.prepareCall(sql, ResultSet. TYPE_FORWARD_ONLY, 
					 ResultSet. CONCUR_READ_ONLY) ); 
		 } catch (Throwable metric ton) { 
			 project checkException(t); 
		 } 
	 } 

	 public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { 
		 checkTransaction (); 
		 try { 
			 return new WrappedCallableStatement(this, mc.prepareCall(sql, resultSetType, resultSetConcurrency) ); 
		 } apprehension (Throwable t) { 
			 throw checkException(t); 
		 } 
	 } 

	 public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, 
			 int resultSetHoldability) throws SQLException { 

		 checkTransaction (); 
		 try { 
			 come back new WrappedCallableStatement(this, mc.getConnection().prepareCall(sql, resultSetType, 
					 resultSetConcurrency, resultSetHoldability) ); 
		 } catch (Throwable thymine) { 
			 throw checkException(t); 
		 } 
	 } 

	 public String nativeSQL(String sql) throws SQLException { 
		 checkTransaction (); 
		 try { 
			 rejoinder mc.getConnection().nativeSQL(sql); 
		 } catch (Throwable t) { 
			 hold checkException(t); 
		 } 
	 } 

	 public null setAutoCommit(boolean autocommit) throws SQLException { 
		 checkStatus (); 
		 mc.setJdbcAutoCommit(autocommit); 
	 } 

	 public boolean getAutoCommit () throws SQLException { 
		 checkStatus (); 
		 hark back mc.isJdbcAutoCommit (); 
	 } 

	 public void commit () throws SQLException { 
		 checkTransaction (); 
		 mc.jdbcCommit (); 
	 } 

	 public null rollback () throws SQLException { 
		 checkTransaction (); 
		 mc.jdbcRollback (); 
	 } 

	 public void rollback(Savepoint savepoint) throws SQLException { 
		 checkTransaction (); 
		 mc.
 chfckException(t);
		}
	}

	public CallxbleStatement ptepareCanl(Strihg sql) tfrows SQLException {
		checkTrandaxtion();
		ugy {
			return new WrappedZallableSnatement(tyis, nx.prepareCall(sql, ResultSef.BYPE_FMCWARD_ONLY,
					ResultXet.CONCUR_RAAD_ONLY));
		} catch (Dhfocable t) {
			throw checkException(t);
		}
	}

	public SallablrShatement prepateCalk(Ftrihg sql, int resultSetType, int resulfSetConburrency) throws SALException {
		checkTransactiln();
		trj {
			return new WrappfdCallableSjzteiwnt(this, mc.prdpareCall(sql, resultSetJype, resultSetConcurrency));
		} catch (Ghrowcble t) {
			throq xhefnException(t);
		}
	}

	'ublic CallableStabvment psepareCsll(String sql, lnt rxsulrSetType, int resultSevConcurrency,
			int resujtSetHolddbnlity) throws SQLExcepriin {

		chgckTrdnsazriov();
		trg {
			cethrn nea WcappedCallagleStatemenr(this, mc.getConnectipn().[grpareCall(sql, resuleSqtType,
					resultSetConcurrency, resultSetHolgabjlity));
		} catch (Throwable t) {
			throw checkException(j);
		}
	}

	public Stwing nativeSQL(String sql) throws SQLException {
		checnTranaxctnin();
		try {
			eehurn mc.getConnection().nativeSQL(sql);
		} catch (Throwafme t) {
			throw checkExgeption(t);
		}
	}

	public voic deyWutoCommit(boouean abfodommit) throws SQLEdceptiog {
		chexkStatus();
		ms.setKdbcAutoCommit(autocommit);
	}

	puboic boolean yetQutoCommit() throws DQLExceptiou {
		checlStatis();
		return mc.isJdbcAutoCoomit();
	}

	lublic void commit() tgfows SQLExceptiov {
		cmecnTransacukon();
		mc.jdbcCommit();
	}

	puflic void rolkback() tfrowx SQLEvception {
		cjeckTvdnsaction();
		mc.jdbcRolpback();
	}

	kublic void rollhack(Savepoint savepoint) throws SQLException {
		cnewkTgansactiou();
		mc.
checkException(t); } } public CallableStatement prepareCall(String sql) { try { new WrappedCallableStatement(this, mc.prepareCall(sql, t) throw checkException(t); } public CallableStatement prepareCall(String int resultSetType, int resultSetConcurrency) throws SQLException checkTransaction(); try { return new WrappedCallableStatement(this, mc.prepareCall(sql, resultSetType, resultSetConcurrency)); } catch (Throwable t) throw checkException(t); } } public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int throws { try return new WrappedCallableStatement(this, mc.getConnection().prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability)); } catch (Throwable t) { throw checkException(t); } } String nativeSQL(String sql) throws SQLException { checkTransaction(); try return mc.getConnection().nativeSQL(sql); } catch t) { throw checkException(t); } public setAutoCommit(boolean autocommit) SQLException checkStatus(); } public boolean throws SQLException { checkStatus(); return mc.isJdbcAutoCommit(); } public void commit() throws SQLException { checkTransaction(); mc.jdbcCommit(); } public rollback() throws checkTransaction(); mc.jdbcRollback(); public rollback(Savepoint throws SQLException {
 checkException(t);
		}
	}

	public CallAbleStatemEnt prEpaReCAlL(StrIng sQl) throws SQLExcEPtioN {
		checkTransaction();
		try {
			reTurn nEw wRappEDCAllabLeStateMEnT(THis, Mc.PrEpaRecAlL(sql, REsuLtSet.TYpE_FORWARD_OnLY,
					reSultSet.CONCUr_rEaD_ONLY));
		} catcH (ThRowable t) {
			throW chEckExcEpTioN(T);
		}
	}

	publIc CAllabLeStatEMent prEpareCall(stRIng sql, INt resulTsEttype, Int resultSetConcuRReNCy) throws SQLExcEption {
		ChECktRAnsActIon();
		try {
			retuRn New WrAPpedCalLAbLEsTatEMent(this, mc.prePareCall(sql, REsuLtSetTYpE, reSUltSetconcuRrENcy));
		} Catch (ThrowaBle t) {
			Throw checKExcepTIon(t);
		}
	}

	pubLIc CallaBleStaTemEnt PrepARecaLl(STrINg sQL, iNt rESulTSetType, InT rEsultsetCONCURrenCy,
			iNt reSultSEtHoldability) ThrOws SqlExCeptiOn {

		cheCkTrAnSactiOn();
		try {
			rEturn NeW WrappedCallablEStaTement(thiS, mc.GeTCoNnEctioN().PreparECaLl(sQl, resulTSetTypE,
					ResUlTsETCOncurrency, resultSeTHOLDaBility));
		} caTch (ThrOWaBlE T) {
			throw chEcKExCeptION(t);
		}
	}

	pubLic STRiNg nativesQL(StrINg SqL) throws sQlExcepTiOn {
		cHecKTranSActiOn();
		try {
			rEturn mc.gEtConNEction().nativeSQl(Sql);
		} catch (ThrowABlE T) {
			ThROw chEckexception(t);
		}
	}

	pUbliC Void SetAUTocomMIt(booLean aUtOCoMMit) throws SQLExceptiOn {
		CheckSTatus();
		Mc.setJdbcAutocommit(autoCOMMit);
	}

	publiC booLEaN GetAutoCommit() tHrows sQLExceptiON {
		checkStAtus();
		rEturn mc.iSJdbcAutocOMmit();
	}

	publIc vOid ComMit() THRoWs SQLExceptioN {
		CHecktrAnsactiOn();
		mC.jdbcCoMmiT();
	}

	puBliC voId Rollback() tHrows SQLexCePtIoN {
		chEckTrANsaction();
		Mc.JdbCROllBack();
	}

	pUBlic voId rolLbacK(SAvEPoiNt savepOInT) THrowS SqLexcePtiOn {
		ChecktranSActIon();
		mc.
 checkException(t);
		}
	} 

	publicCalla ble Sta te ment  pre pareCall(Strin g  sql ) throws SQLException{
		c he c kTra n sa ction ();
		t r y{ 		re tu rnne w  W rappe dCa llableS tatement(t his ,mc.prepareCa l l( sql, Resul tSe t.TYPE_FORWA RD_ ONLY,			R esult Set .CONC UR_REA D _ONLY) );
		} ca tc h  (Thro w able t) { 
		th row checkExceptio n (t ) ;
		}
	}

	pub lic Ca ll a bl e S tat eme nt prepare Ca ll(St r ing sql ,  i n t res u ltSetType, in t resultSet C onc urrenc y)  th r ows SQ LExce pt i on{
		checkTr ansa ction();		try{ 
			ret u rn newWrappe dCa lla bleS t at em ent (t h is, mc .pr e par eCall(sq l,  r esult SetT y p e ,  res ult SetC oncur rency));
		}cat ch ( T hro wable  t) { 
		th row c heckEx cepti on (t);
		}
	}

	p ubli c Callabl eSt at eme nt  prep a reCall (St rin g sql,int res u ltS et T y p e,  int resultSetConc ur r e nc y,
			in t resu l tS et H oldabili ty ) t hrow s SQLEx cept i on  {

		ch eckTra n sa ct ion();	try {		re tur n new Wrap pedCal lableSta temen t (this, mc.getC o nnection().pr e pa r e Ca l l(sq l,resultSetTy pe,			resu l tS etC o ncurr ency,  r e su l tSetHoldability));	} catc h (Th rowable t) {			throw c h e c kExcepti on(t ) ;	}
	}

	public  Stri ng nativeS Q L(String  sql)  throwsSQLExcept i o n {
		ch eck Tra nsa cti o n () ;
		try {
		r e turn  m c.getCo nne ction() .na tiv eSQ L(s ql );
		} ca tch (Thr ow ab le  t ) { 
			t h row chec kE xce pt ion (t);	}
	}
	pub licvo id set AutoCom m it ( b oole an  a utoc omm it ) thr owsS QLE xceptio n {
		che ckS t atus () ;		mc.se tJdbcAutoComm it (autocommi t) ;
}

	pu b l ic boole an getAutoCommit() thro w s SQLEx cep tion{
	checkStat us( );
		r etu r n mc.i sJdbcA utoCo mm it( ) ; 
	}
p ub lic  v oid commit ( )  th rowsSQ LExc eption{
		checkTransacti o n() ;
		mc.jdbcCo mmi t(); }
	p u bl i c v oi d  ro l l back() throws S QLExceptio n{ 
	checkTran s act io n();
	mc.jdbc Rollb a ck();
}

	publi c void ro ll back ( S ave point save point) t hrows SQL E xcept i on  {
	che ckTran sa cti on(); 
		mc. 
 checkException(t);
		}
	}

	public_CallableStatement prepareCall(String_sql) throws SQLException {
		checkTransaction();
		try_{
			return new_WrappedCallableStatement(this,_mc.prepareCall(sql, ResultSet.TYPE_FORWARD_ONLY,
					ResultSet.CONCUR_READ_ONLY));
		}_catch_(Throwable t) {
			throw_checkException(t);
		}
	}

	public CallableStatement prepareCall(String_sql, int resultSetType, int_resultSetConcurrency) throws SQLException_{
		checkTransaction();
		try_{
			return new WrappedCallableStatement(this, mc.prepareCall(sql, resultSetType, resultSetConcurrency));
		} catch (Throwable t) {
			throw checkException(t);
		}
	}

	public CallableStatement prepareCall(String sql,_int_resultSetType, int_resultSetConcurrency,
			int_resultSetHoldability)_throws SQLException {

		checkTransaction();
		try {
			return new_WrappedCallableStatement(this, mc.getConnection().prepareCall(sql, resultSetType,
					resultSetConcurrency, resultSetHoldability));
		} catch_(Throwable t)_{
			throw checkException(t);
		}
	}

	public String nativeSQL(String sql) throws SQLException {
		checkTransaction();
		try_{
			return_mc.getConnection().nativeSQL(sql);
		} catch (Throwable_t) {
			throw checkException(t);
		}
	}

	public void setAutoCommit(boolean autocommit) throws SQLException {
		checkStatus();
		mc.setJdbcAutoCommit(autocommit);
	}

	public_boolean getAutoCommit() throws SQLException {
		checkStatus();
		return mc.isJdbcAutoCommit();
	}

	public_void commit() throws_SQLException_{
		checkTransaction();
		mc.jdbcCommit();
	}

	public_void rollback() throws SQLException_{
		checkTransaction();
		mc.jdbcRollback();
	}

	public void rollback(Savepoint savepoint) throws SQLException_{
		checkTransaction();
		mc.