亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? callablestatementtest.java

?? 用于JAVA數據庫連接.解壓就可用,方便得很
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (C) 2002-2007 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as  published by the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL  as it is applied to this software. View the full text of the  exception in file EXCEPTIONS-CONNECTOR-J in the directory of this  software distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package testsuite.simple;import com.mysql.jdbc.SQLError;import com.mysql.jdbc.log.StandardLogger;import testsuite.BaseTestCase;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.ParameterMetaData;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Types;import java.util.Properties;/** * Tests callable statement functionality. *  * @author Mark Matthews * @version $Id: CallableStatementTest.java,v 1.1.2.1 2005/05/13 18:58:37 *          mmatthews Exp $ */public class CallableStatementTest extends BaseTestCase {	/**	 * DOCUMENT ME!	 * 	 * @param name	 */	public CallableStatementTest(String name) {		super(name);		// TODO Auto-generated constructor stub	}	/**	 * Tests functioning of inout parameters	 * 	 * @throws Exception	 *             if the test fails	 */	public void testInOutParams() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testInOutParam");				this.stmt						.executeUpdate("create procedure testInOutParam(IN p1 VARCHAR(255), INOUT p2 INT)\n"								+ "begin\n"								+ " DECLARE z INT;\n"								+ "SET z = p2 + 1;\n"								+ "SET p2 = z;\n"								+ "SELECT p1;\n"								+ "SELECT CONCAT('zyxw', p1);\n"								+ "end\n");				storedProc = this.conn.prepareCall("{call testInOutParam(?, ?)}");				storedProc.setString(1, "abcd");				storedProc.setInt(2, 4);				storedProc.registerOutParameter(2, Types.INTEGER);				storedProc.execute();						assertEquals(5, storedProc.getInt(2));			} finally {				this.stmt.executeUpdate("DROP PROCEDURE IF EXISTS testInOutParam");			}		}	}	public void testBatch() throws Exception {		if (versionMeetsMinimum(5, 0)) {			Connection batchedConn = null;						try {				createTable("testBatchTable", "(field1 INT)");				createProcedure("testBatch", "(IN foo VARCHAR(15))\n"								+ "begin\n"								+ "INSERT INTO testBatchTable VALUES (foo);\n"								+ "end\n");				executeBatchedStoredProc(this.conn);								batchedConn = getConnectionWithProps("rewriteBatchedStatements=true,profileSQL=true");								StringBuffer outBuf = new StringBuffer();				StandardLogger.bufferedLog = outBuf;				executeBatchedStoredProc(batchedConn);				String[] log = outBuf.toString().split(";");				assertTrue(log.length > 20);			} finally {				StandardLogger.bufferedLog = null;								closeMemberJDBCResources();								if (batchedConn != null) {					batchedConn.close();				}			}		}	}		private void executeBatchedStoredProc(Connection c) throws Exception {		this.stmt.executeUpdate("TRUNCATE TABLE testBatchTable");				CallableStatement storedProc = c.prepareCall("{call testBatch(?)}");		try {			int numBatches = 300;						for (int i = 0; i < numBatches; i++) {				storedProc.setInt(1, i + 1);				storedProc.addBatch();			}						int[] counts = storedProc.executeBatch();						assertEquals(numBatches, counts.length);						for (int i = 0; i < numBatches; i++) {				assertEquals(1, counts[i]);			}				this.rs = this.stmt.executeQuery("SELECT field1 FROM testBatchTable ORDER BY field1 ASC");						for (int i = 0; i < numBatches; i++) {				assertTrue(this.rs.next());				assertEquals(i + 1, this.rs.getInt(1));			}		} finally {			closeMemberJDBCResources();						if (storedProc != null) {				storedProc.close();			}		}	}	/**	 * Tests functioning of output parameters.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testOutParams() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testOutParam");				this.stmt						.executeUpdate("CREATE PROCEDURE testOutParam(x int, out y int)\n"								+ "begin\n"								+ "declare z int;\n"								+ "set z = x+1, y = z;\n" + "end\n");				storedProc = this.conn.prepareCall("{call testOutParam(?, ?)}");				storedProc.setInt(1, 5);				storedProc.registerOutParameter(2, Types.INTEGER);				storedProc.execute();				System.out.println(storedProc);				int indexedOutParamToTest = storedProc.getInt(2);								if (!isRunningOnJdk131()) {					int namedOutParamToTest = storedProc.getInt("y");									assertTrue("Named and indexed parameter are not the same",						indexedOutParamToTest == namedOutParamToTest);					assertTrue("Output value not returned correctly",						indexedOutParamToTest == 6);									// Start over, using named parameters, this time					storedProc.clearParameters();					storedProc.setInt("x", 32);					storedProc.registerOutParameter("y", Types.INTEGER);						storedProc.execute();						indexedOutParamToTest = storedProc.getInt(2);					namedOutParamToTest = storedProc.getInt("y");						assertTrue("Named and indexed parameter are not the same",							indexedOutParamToTest == namedOutParamToTest);					assertTrue("Output value not returned correctly",							indexedOutParamToTest == 33);						try {						storedProc.registerOutParameter("x", Types.INTEGER);						assertTrue(								"Should not be able to register an out parameter on a non-out parameter",								true);					} catch (SQLException sqlEx) {						if (!SQLError.SQL_STATE_ILLEGAL_ARGUMENT.equals(sqlEx								.getSQLState())) {							throw sqlEx;						}					}										try {						storedProc.getInt("x");						assertTrue(								"Should not be able to retreive an out parameter on a non-out parameter",								true);					} catch (SQLException sqlEx) {						if (!SQLError.SQL_STATE_COLUMN_NOT_FOUND.equals(sqlEx								.getSQLState())) {							throw sqlEx;						}					}				}				try {					storedProc.registerOutParameter(1, Types.INTEGER);					assertTrue(							"Should not be able to register an out parameter on a non-out parameter",							true);				} catch (SQLException sqlEx) {					if (!SQLError.SQL_STATE_ILLEGAL_ARGUMENT.equals(sqlEx							.getSQLState())) {						throw sqlEx;					}				}							} finally {				this.stmt.executeUpdate("DROP PROCEDURE testOutParam");			}		}	}	/**	 * Tests functioning of output parameters.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testResultSet() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testSpResultTbl1");				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testSpResultTbl2");				this.stmt						.executeUpdate("CREATE TABLE testSpResultTbl1 (field1 INT)");				this.stmt						.executeUpdate("INSERT INTO testSpResultTbl1 VALUES (1), (2)");				this.stmt						.executeUpdate("CREATE TABLE testSpResultTbl2 (field2 varchar(255))");				this.stmt						.executeUpdate("INSERT INTO testSpResultTbl2 VALUES ('abc'), ('def')");				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testSpResult");				this.stmt						.executeUpdate("CREATE PROCEDURE testSpResult()\n"								+ "BEGIN\n"								+ "SELECT field2 FROM testSpResultTbl2 WHERE field2='abc';\n"								+ "UPDATE testSpResultTbl1 SET field1=2;\n"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲综合另类在线| 国产精品色婷婷| 在线免费观看成人短视频| 国产成人在线视频网址| 韩国成人在线视频| 国产精品一级二级三级| 国产一二精品视频| 国产a级毛片一区| 99国产精品久| 欧洲在线/亚洲| 91精品中文字幕一区二区三区 | 欧美哺乳videos| 精品乱码亚洲一区二区不卡| 日韩写真欧美这视频| 精品久久国产字幕高潮| 久久综合av免费| 亚洲欧洲日韩在线| 午夜国产精品影院在线观看| 久88久久88久久久| 99精品欧美一区| 制服丝袜成人动漫| 久久精品视频在线看| 亚洲视频在线观看三级| 天堂一区二区在线| 国产91富婆露脸刺激对白| 欧美在线一区二区三区| 精品久久人人做人人爽| 一区免费观看视频| 久久综合综合久久综合| 国产成人超碰人人澡人人澡| 日本道免费精品一区二区三区| 欧美少妇一区二区| 久久久久久久久久久99999| 亚洲免费看黄网站| 久久电影网站中文字幕| 91黄色免费网站| 精品福利一区二区三区免费视频| 国产精品久久久一区麻豆最新章节| 亚洲成人激情自拍| 99精品欧美一区二区蜜桃免费 | 久久久久久久久久久久久女国产乱| 国产精品久久久久桃色tv| 日韩精品久久理论片| 成人福利视频网站| 欧美一区二区三区爱爱| 国产精品美日韩| 久久国产尿小便嘘嘘尿| 色婷婷亚洲综合| 国产午夜亚洲精品理论片色戒| 亚洲欧美区自拍先锋| 美国一区二区三区在线播放| 99精品久久久久久| 久久综合久久鬼色中文字| 亚洲bt欧美bt精品| av在线不卡观看免费观看| 久久久亚洲午夜电影| 肉丝袜脚交视频一区二区| 色综合天天性综合| 国产精品美女久久福利网站 | 久久久久久久精| 久久国产人妖系列| 91精品国产色综合久久久蜜香臀| 亚洲精品乱码久久久久久| 成人免费视频视频| 久久女同精品一区二区| 看电视剧不卡顿的网站| 91精品国产色综合久久ai换脸| 亚洲一区二区三区在线播放| 91日韩在线专区| 中文字幕制服丝袜一区二区三区| 粉嫩欧美一区二区三区高清影视| 日韩欧美一区二区不卡| 久久狠狠亚洲综合| 精品国产一区二区三区av性色| 日本一区中文字幕| 日韩女优电影在线观看| 久久av中文字幕片| 欧美精品一区二区三区蜜桃视频 | 成人激情黄色小说| 亚洲国产精品激情在线观看| 国产精品一区二区x88av| 国产亚洲成aⅴ人片在线观看| 激情国产一区二区| 国产日韩在线不卡| 色综合天天综合给合国产| 亚洲精品国久久99热| 欧美影视一区二区三区| 图片区日韩欧美亚洲| 精品国产sm最大网站| 国产91在线|亚洲| 中文字幕亚洲精品在线观看| 91色.com| 免费观看在线综合| 久久久精品综合| 粉嫩嫩av羞羞动漫久久久| 亚洲视频一二三| 555夜色666亚洲国产免| 精品一区二区免费视频| 亚洲欧洲日韩综合一区二区| 欧美性做爰猛烈叫床潮| 裸体健美xxxx欧美裸体表演| 国产欧美一区二区三区沐欲| 91蜜桃免费观看视频| 日韩1区2区3区| 国产午夜三级一区二区三| 日本乱人伦aⅴ精品| 欧美a一区二区| 国产欧美一区二区精品性 | 亚洲成人黄色影院| 精品精品国产高清a毛片牛牛 | 国内外成人在线视频| 欧美国产日韩在线观看| 欧美日本精品一区二区三区| 国产乱人伦精品一区二区在线观看 | 91热门视频在线观看| 日韩高清国产一区在线| 国产精品国产精品国产专区不片| 欧美电影一区二区三区| 成人av影视在线观看| 日韩av中文字幕一区二区| 国产精品入口麻豆原神| 91精品国产综合久久精品麻豆| www.久久久久久久久| 久久国产生活片100| 亚洲va韩国va欧美va| 国产视频在线观看一区二区三区 | 亚洲视频网在线直播| 欧美成人性战久久| 欧美日韩高清一区二区三区| 不卡视频在线看| 国产一区二区在线免费观看| 亚洲成人av在线电影| 亚洲日本在线看| 欧美国产精品一区二区三区| 在线观看91av| 欧美精品乱码久久久久久| 色先锋aa成人| av一区二区不卡| 成人av午夜电影| 国产麻豆视频一区二区| 青青草国产精品亚洲专区无| 亚洲一级片在线观看| 一区二区三区在线免费| 亚洲婷婷在线视频| 亚洲欧洲www| 亚洲日本一区二区| 亚洲欧洲精品一区二区三区| 国产三级精品在线| 中文字幕国产一区二区| 国产精品色哟哟| 国产精品欧美久久久久无广告| 久久久久久久一区| 国产亚洲1区2区3区| 国产亚洲欧美激情| 久久欧美一区二区| 久久蜜桃av一区精品变态类天堂 | 亚洲裸体xxx| 亚洲精品免费播放| 亚洲一区二区三区精品在线| 亚洲女同ⅹxx女同tv| 亚洲已满18点击进入久久| 亚洲欧美日韩综合aⅴ视频| 亚洲欧美日韩精品久久久久| 亚洲美女区一区| 亚洲va欧美va天堂v国产综合| 亚洲免费色视频| 爽好多水快深点欧美视频| 久久激情五月激情| 国产不卡视频在线观看| 色综合一个色综合| 日韩一区二区电影| 欧美不卡在线视频| ㊣最新国产の精品bt伙计久久| 亚洲日本免费电影| 亚洲一区二区欧美日韩 | 中文字幕在线不卡视频| 亚洲欧美激情在线| 麻豆精品蜜桃视频网站| 成人一区二区三区在线观看| 91亚洲精品乱码久久久久久蜜桃| 欧美午夜精品久久久久久超碰| 制服丝袜av成人在线看| 国产午夜三级一区二区三| 亚洲欧美色综合| 麻豆成人久久精品二区三区小说| 成人一级视频在线观看| 欧美日韩亚洲综合在线| 精品精品国产高清一毛片一天堂| 国产精品久久久久久久久免费丝袜| 亚洲欧洲无码一区二区三区| 日韩精品久久久久久| jizz一区二区| 欧美成人一区二区| 夜夜揉揉日日人人青青一国产精品| 久久电影国产免费久久电影| 91在线精品一区二区三区| 日韩精品中午字幕| 亚洲国产一二三| 9人人澡人人爽人人精品| 日韩一级黄色片|