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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? callablestatementtest.java

?? 用于JAVA數(shù)據(jù)庫連接.解壓就可用,方便得很
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
								+ "SELECT field2 FROM testSpResultTbl2 WHERE field2='def';\n"								+ "end\n");				storedProc = this.conn.prepareCall("{call testSpResult()}");				storedProc.execute();				this.rs = storedProc.getResultSet();				ResultSetMetaData rsmd = this.rs.getMetaData();				assertTrue(rsmd.getColumnCount() == 1);				assertTrue("field2".equals(rsmd.getColumnName(1)));				assertTrue(rsmd.getColumnType(1) == Types.VARCHAR);				assertTrue(this.rs.next());				assertTrue("abc".equals(this.rs.getString(1)));				// TODO: This does not yet work in MySQL 5.0				// assertTrue(!storedProc.getMoreResults());				// assertTrue(storedProc.getUpdateCount() == 2);				assertTrue(storedProc.getMoreResults());				ResultSet nextResultSet = storedProc.getResultSet();				rsmd = nextResultSet.getMetaData();				assertTrue(rsmd.getColumnCount() == 1);				assertTrue("field2".equals(rsmd.getColumnName(1)));				assertTrue(rsmd.getColumnType(1) == Types.VARCHAR);				assertTrue(nextResultSet.next());				assertTrue("def".equals(nextResultSet.getString(1)));				nextResultSet.close();				this.rs.close();				storedProc.execute();			} finally {				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testSpResult");				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testSpResultTbl1");				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testSpResultTbl2");			}		}	}	/**	 * Tests parsing of stored procedures	 * 	 * @throws Exception	 *             if an error occurs.	 */	public void testSPParse() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt.executeUpdate("DROP PROCEDURE IF EXISTS testSpParse");				this.stmt						.executeUpdate("CREATE PROCEDURE testSpParse(IN FOO VARCHAR(15))\n"								+ "BEGIN\n" + "SELECT 1;\n" + "end\n");				storedProc = this.conn.prepareCall("{call testSpParse()}");			} finally {				this.stmt.executeUpdate("DROP PROCEDURE IF EXISTS testSpParse");			}		}	}	/**	 * Tests parsing/execution of stored procedures with no parameters...	 * 	 * @throws Exception	 *             if an error occurs.	 */	public void testSPNoParams() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testSPNoParams");				this.stmt.executeUpdate("CREATE PROCEDURE testSPNoParams()\n"						+ "BEGIN\n" + "SELECT 1;\n" + "end\n");				storedProc = this.conn.prepareCall("{call testSPNoParams()}");				storedProc.execute();			} finally {				this.stmt						.executeUpdate("DROP PROCEDURE IF EXISTS testSPNoParams");			}		}	}	/**	 * Tests parsing of stored procedures	 * 	 * @throws Exception	 *             if an error occurs.	 */	public void testSPCache() throws Exception {		if (isRunningOnJdk131()) {			return; // no support for LRUCache		}		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			try {				this.stmt.executeUpdate("DROP PROCEDURE IF EXISTS testSpParse");				this.stmt						.executeUpdate("CREATE PROCEDURE testSpParse(IN FOO VARCHAR(15))\n"								+ "BEGIN\n" + "SELECT 1;\n" + "end\n");				int numIterations = 10;				long startTime = System.currentTimeMillis();				for (int i = 0; i < numIterations; i++) {					storedProc = this.conn.prepareCall("{call testSpParse(?)}");					storedProc.close();				}				long elapsedTime = System.currentTimeMillis() - startTime;				System.out.println("Standard parsing/execution: " + elapsedTime						+ " ms");				storedProc = this.conn.prepareCall("{call testSpParse(?)}");				storedProc.setString(1, "abc");				this.rs = storedProc.executeQuery();				assertTrue(this.rs.next());				assertTrue(this.rs.getInt(1) == 1);				Properties props = new Properties();				props.setProperty("cacheCallableStmts", "true");				Connection cachedSpConn = getConnectionWithProps(props);				startTime = System.currentTimeMillis();				for (int i = 0; i < numIterations; i++) {					storedProc = cachedSpConn							.prepareCall("{call testSpParse(?)}");					storedProc.close();				}				elapsedTime = System.currentTimeMillis() - startTime;				System.out						.println("Cached parse stage: " + elapsedTime + " ms");				storedProc = cachedSpConn.prepareCall("{call testSpParse(?)}");				storedProc.setString(1, "abc");				this.rs = storedProc.executeQuery();				assertTrue(this.rs.next());				assertTrue(this.rs.getInt(1) == 1);			} finally {				this.stmt.executeUpdate("DROP PROCEDURE IF EXISTS testSpParse");			}		}	}		public void testOutParamsNoBodies() throws Exception {		if (versionMeetsMinimum(5, 0)) {			CallableStatement storedProc = null;			Properties props = new Properties();			props.setProperty("noAccessToProcedureBodies", "true");						Connection spConn = getConnectionWithProps(props);						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 = spConn.prepareCall("{call testOutParam(?, ?)}");				storedProc.setInt(1, 5);				storedProc.registerOutParameter(2, Types.INTEGER);				storedProc.execute();				int indexedOutParamToTest = storedProc.getInt(2);							assertTrue("Output value not returned correctly",						indexedOutParamToTest == 6);								storedProc.clearParameters();				storedProc.setInt(1, 32);				storedProc.registerOutParameter(2, Types.INTEGER);				storedProc.execute();				indexedOutParamToTest = storedProc.getInt(2);								assertTrue("Output value not returned correctly",						indexedOutParamToTest == 33);			} finally {				this.stmt.executeUpdate("DROP PROCEDURE testOutParam");			}		}	}	/**	 * Runs all test cases in this test suite	 * 	 * @param args	 */	public static void main(String[] args) {		junit.textui.TestRunner.run(CallableStatementTest.class);	}		/** Tests the new parameter parser that doesn't require "BEGIN" or "\n" at end	 * of parameter declaration	 * @throws Exception	 */	public void testParameterParser() throws Exception {		if (!versionMeetsMinimum(5, 0)) {			return;		}		CallableStatement cstmt = null;		try {			createTable("t1",					"(id   char(16) not null default '', data int not null)");			createTable("t2", "(s   char(16),  i   int,  d   double)");			createProcedure("foo42",					"() insert into test.t1 values ('foo', 42);");			this.conn.prepareCall("{CALL foo42()}");			this.conn.prepareCall("{CALL foo42}");			createProcedure("bar",					"(x char(16), y int, z DECIMAL(10)) insert into test.t1 values (x, y);");			cstmt = this.conn.prepareCall("{CALL bar(?, ?, ?)}");			if (!isRunningOnJdk131()) {				ParameterMetaData md = cstmt.getParameterMetaData();				assertEquals(3, md.getParameterCount());				assertEquals(Types.CHAR, md.getParameterType(1));				assertEquals(Types.INTEGER, md.getParameterType(2));				assertEquals(Types.DECIMAL, md.getParameterType(3));			}			createProcedure("p", "() label1: WHILE @a=0 DO SET @a=1; END WHILE");			this.conn.prepareCall("{CALL p()}");			createFunction("f", "() RETURNS INT return 1; ");			cstmt = this.conn.prepareCall("{? = CALL f()}");			if (!isRunningOnJdk131()) {				ParameterMetaData md = cstmt.getParameterMetaData();				assertEquals(Types.INTEGER, md.getParameterType(1));			}		} finally {			if (cstmt != null) {				cstmt.close();			}		}	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品系列免费在线观看| 亚洲激情男女视频| 日本丶国产丶欧美色综合| 亚洲成人av资源| 久久久久久久综合色一本| 日本福利一区二区| 粉嫩欧美一区二区三区高清影视 | 中文字幕在线不卡视频| 91九色最新地址| 精品一区二区在线看| 亚洲午夜精品网| 国产精品久久久久久久久动漫| 欧美日韩精品一区二区天天拍小说| 成人在线视频一区| 国内精品写真在线观看 | 国产高清视频一区| 日本三级韩国三级欧美三级| 亚洲另类春色校园小说| 久久婷婷国产综合精品青草| 欧美一区二区视频在线观看2020| www.一区二区| 国产精品99久久久久久宅男| 爽好多水快深点欧美视频| 亚洲一二三四区不卡| 中文字幕在线一区免费| 久久精品亚洲麻豆av一区二区| 3atv在线一区二区三区| 在线免费亚洲电影| 91视频免费播放| 成人精品一区二区三区中文字幕| 国产精品一区久久久久| 国产美女视频91| 国产专区欧美精品| 狠狠色综合日日| 狠狠色综合日日| 国产又粗又猛又爽又黄91精品| 久久66热偷产精品| 久久成人羞羞网站| 九九精品视频在线看| 亚洲一区二区3| 亚洲女同ⅹxx女同tv| 亚洲欧美色图小说| 一区二区三区在线免费| 一区二区三区日韩在线观看| 亚洲精品一二三四区| 亚洲伦理在线免费看| 国产精品日产欧美久久久久| 日韩美女一区二区三区| 欧美成人福利视频| 日韩精品在线看片z| 日韩精品一区二区三区蜜臀| 久久影视一区二区| 欧美videofree性高清杂交| 日韩欧美亚洲一区二区| 久久久亚洲精华液精华液精华液| 久久人人97超碰com| 国产农村妇女毛片精品久久麻豆 | 日韩欧美在线综合网| 日韩欧美aaaaaa| 中文字幕第一页久久| 国产精品电影院| 亚洲成人综合在线| 理论片日本一区| 国产风韵犹存在线视精品| 99精品视频一区| 欧美色国产精品| 欧美大白屁股肥臀xxxxxx| 亚洲精品一区二区三区99| 国产三区在线成人av| 亚洲日本在线视频观看| 亚洲国产成人精品视频| 狂野欧美性猛交blacked| 国产成人高清在线| 欧美视频精品在线观看| 日韩欧美国产综合一区| 中文字幕在线观看不卡视频| 亚洲国产综合色| 日本少妇一区二区| 成人中文字幕电影| 欧美日韩免费一区二区三区视频| 日韩丝袜美女视频| 日本一二三不卡| 天堂影院一区二区| 国产精品一区二区在线看| 欧亚洲嫩模精品一区三区| 精品久久久久久久久久久久包黑料| 中文子幕无线码一区tr| 舔着乳尖日韩一区| 成人动漫一区二区| 欧美剧情片在线观看| 久久久蜜桃精品| 亚洲一区二区三区四区在线免费观看 | 精品亚洲国产成人av制服丝袜 | 欧美一区二区三区在线视频| 国产欧美日韩久久| 日本一不卡视频| 91伊人久久大香线蕉| 欧美一级欧美三级| 亚洲人精品午夜| 久久精品国产99国产| 不卡欧美aaaaa| 欧美成人vps| 日日摸夜夜添夜夜添精品视频| 国产精品一级在线| 777色狠狠一区二区三区| 国产精品不卡在线观看| 久久国产精品露脸对白| 在线播放/欧美激情| 亚洲三级理论片| 国产成人亚洲综合a∨猫咪| 91精品国产综合久久小美女| 亚洲欧洲综合另类在线| 国产河南妇女毛片精品久久久| 欧美一级理论片| 丝袜美腿亚洲一区二区图片| 国产精品乡下勾搭老头1| 欧美一级黄色片| 日韩激情中文字幕| 在线这里只有精品| 亚洲另类春色国产| 色综合婷婷久久| 亚洲另类色综合网站| 色综合色综合色综合| 国产精品国产自产拍高清av王其 | 日韩综合在线视频| 欧美三级日韩三级| 无码av中文一区二区三区桃花岛| 欧洲精品一区二区三区在线观看| 亚洲美女在线一区| www.成人在线| 国产精品成人一区二区三区夜夜夜| 国产大陆亚洲精品国产| 久久久不卡影院| 国产成人无遮挡在线视频| 久久久美女艺术照精彩视频福利播放| 久久国产综合精品| 2020国产精品自拍| 国产成人精品1024| 中文字幕一区二区三区在线不卡| 99久久精品国产网站| 亚洲激情图片一区| 欧美精品18+| 麻豆免费精品视频| 欧美本精品男人aⅴ天堂| 久久激情综合网| 国产日韩一级二级三级| 成人短视频下载| 一区二区日韩av| 欧美电影在线免费观看| 奇米在线7777在线精品| 91精品国产一区二区三区蜜臀| 老司机精品视频一区二区三区| 日韩欧美专区在线| 国产成人综合视频| 国产精品久久久久久户外露出| 9i看片成人免费高清| 一区二区三区在线观看欧美| 欧美精品乱码久久久久久| 另类小说欧美激情| 国产日韩欧美在线一区| 91丨九色丨蝌蚪富婆spa| 亚洲一区欧美一区| 日韩一区二区三区免费看 | 亚洲一区二区三区在线看| 91精品国产综合久久香蕉麻豆| 日本免费新一区视频| 久久影音资源网| 一本久久综合亚洲鲁鲁五月天 | 99久久久久久| 悠悠色在线精品| 日韩一级完整毛片| 播五月开心婷婷综合| 婷婷综合在线观看| 国产嫩草影院久久久久| 欧美日韩激情一区二区三区| 国产酒店精品激情| 一区二区三区在线观看网站| 日韩欧美中文一区| 99精品视频一区| 麻豆一区二区三区| 亚洲少妇最新在线视频| 欧美喷水一区二区| 国产成人8x视频一区二区| 亚洲福利电影网| 国产午夜精品理论片a级大结局 | 亚洲国产裸拍裸体视频在线观看乱了| 日韩女同互慰一区二区| 不卡一区二区中文字幕| 免费人成在线不卡| 亚洲欧洲日韩综合一区二区| 欧美一级一区二区| 色又黄又爽网站www久久| 国产在线看一区| 亚洲在线视频免费观看| 国产午夜精品理论片a级大结局| 91精品国产美女浴室洗澡无遮挡| 91在线视频免费观看| 久久99国产精品麻豆| 天堂一区二区在线| 自拍偷拍亚洲激情|