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

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

?? resultsettest.java

?? mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序
?? JAVA
字號:
/*
 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 java.sql.Connection;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.Properties;

import com.mysql.jdbc.CharsetMapping;

import testsuite.BaseTestCase;

public class ResultSetTest extends BaseTestCase {

	public ResultSetTest(String name) {
		super(name);
	}

	/**
	 * Runs all test cases in this test suite
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		junit.textui.TestRunner.run(ResultSetTest.class);
	}

	public void testPadding() throws Exception {
		if (!versionMeetsMinimum(4, 1, 0)) {
			return;
		}

		Connection paddedConn = null;

		int numChars = 32;

		Iterator charsetNames = CharsetMapping.STATIC_CHARSET_TO_NUM_BYTES_MAP
				.keySet().iterator();
		StringBuffer columns = new StringBuffer();
		StringBuffer emptyBuf = new StringBuffer();
		StringBuffer abcBuf = new StringBuffer();
		StringBuffer repeatBuf = new StringBuffer();
		StringBuffer selectBuf = new StringBuffer();

		int counter = 0;

		while (charsetNames.hasNext()) {
			String charsetName = charsetNames.next().toString();

			if (charsetName.equalsIgnoreCase("LATIN7")
					|| charsetName.equalsIgnoreCase("BINARY")) {
				continue; // no mapping in Java
			}

			if (counter != 0) {
				columns.append(",");
				emptyBuf.append(",");
				abcBuf.append(",");
				repeatBuf.append(",");
				selectBuf.append(",");
			}

			emptyBuf.append("''");
			abcBuf.append("'abc'");
			repeatBuf.append("REPEAT('b', " + numChars + ")");

			columns.append("field_");
			columns.append(charsetName);

			columns.append(" CHAR(");
			columns.append(numChars);
			columns.append(") CHARACTER SET ");
			columns.append(charsetName);

			selectBuf.append("field_");
			selectBuf.append(charsetName);

			counter++;
		}

		createTable("testPadding", "(" + columns.toString() + ", ord INT)");

		this.stmt.executeUpdate("INSERT INTO testPadding VALUES ("
				+ emptyBuf.toString() + ", 1), (" + abcBuf.toString()
				+ ", 2), (" + repeatBuf.toString() + ", 3)");

		try {
			Properties props = new Properties();
			props.setProperty("padCharsWithSpace", "true");

			paddedConn = getConnectionWithProps(props);

			testPaddingForConnection(paddedConn, numChars, selectBuf);

			props.setProperty("useDynamicCharsetInfo", "true");

			paddedConn = getConnectionWithProps(props);

			testPaddingForConnection(paddedConn, numChars, selectBuf);
		} finally {
			closeMemberJDBCResources();

			if (paddedConn != null) {
				paddedConn.close();
			}
		}
	}

	private void testPaddingForConnection(Connection paddedConn, int numChars,
			StringBuffer selectBuf) throws SQLException {

		String query = "SELECT " + selectBuf.toString()
				+ " FROM testPadding ORDER by ord";

		this.rs = paddedConn.createStatement().executeQuery(query);
		int numCols = this.rs.getMetaData().getColumnCount();

		while (this.rs.next()) {
			for (int i = 0; i < numCols; i++) {
				assertEquals("For column '"
						+ this.rs.getMetaData().getColumnName(i + 1)
						+ "' of collation "
						+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
								.getMetaData()).getColumnCharacterSet(i + 1),
						numChars, this.rs.getString(i + 1).length());
			}
		}

		this.rs = ((com.mysql.jdbc.Connection) paddedConn)
				.clientPrepareStatement(query).executeQuery();

		while (this.rs.next()) {
			for (int i = 0; i < numCols; i++) {
				assertEquals("For column '"
						+ this.rs.getMetaData().getColumnName(i + 1)
						+ "' of collation "
						+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
								.getMetaData()).getColumnCharacterSet(i + 1),
						numChars, this.rs.getString(i + 1).length());
			}
		}

		if (versionMeetsMinimum(4, 1)) {
			this.rs = ((com.mysql.jdbc.Connection) paddedConn).serverPrepare(
					query).executeQuery();

			while (this.rs.next()) {
				for (int i = 0; i < numCols; i++) {
					assertEquals("For column '"
							+ this.rs.getMetaData().getColumnName(i + 1)
							+ "' of collation "
							+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
									.getMetaData())
									.getColumnCharacterSet(i + 1), numChars,
							this.rs.getString(i + 1).length());
				}
			}
		}

		this.rs = this.stmt.executeQuery(query);

		while (this.rs.next()) {
			for (int i = 0; i < numCols; i++) {
				if (this.rs.getRow() != 3) {
					assertTrue("For column '"
							+ this.rs.getMetaData().getColumnName(i + 1)
							+ "' of collation "
							+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
									.getMetaData())
									.getColumnCharacterSet(i + 1),
							numChars != this.rs.getString(i + 1).length());
				} else {
					assertEquals("For column '"
							+ this.rs.getMetaData().getColumnName(i + 1)
							+ "' of collation "
							+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
									.getMetaData())
									.getColumnCharacterSet(i + 1), numChars,
							this.rs.getString(i + 1).length());
				}
			}
		}

		this.rs = ((com.mysql.jdbc.Connection) this.conn)
				.clientPrepareStatement(query).executeQuery();

		while (this.rs.next()) {
			for (int i = 0; i < numCols; i++) {
				if (this.rs.getRow() != 3) {
					assertTrue("For column '"
							+ this.rs.getMetaData().getColumnName(i + 1)
							+ "' of collation "
							+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
									.getMetaData())
									.getColumnCharacterSet(i + 1),
							numChars != this.rs.getString(i + 1).length());
				} else {
					assertEquals("For column '"
							+ this.rs.getMetaData().getColumnName(i + 1)
							+ "' of collation "
							+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
									.getMetaData())
									.getColumnCharacterSet(i + 1), numChars,
							this.rs.getString(i + 1).length());
				}
			}
		}

		if (versionMeetsMinimum(4, 1)) {
			this.rs = ((com.mysql.jdbc.Connection) this.conn).serverPrepare(
					query).executeQuery();

			while (this.rs.next()) {
				for (int i = 0; i < numCols; i++) {
					if (this.rs.getRow() != 3) {
						assertTrue("For column '"
								+ this.rs.getMetaData().getColumnName(i + 1)
								+ "' of collation "
								+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
										.getMetaData())
										.getColumnCharacterSet(i + 1),
								numChars != this.rs.getString(i + 1).length());
					} else {
						assertEquals("For column '"
								+ this.rs.getMetaData().getColumnName(i + 1)
								+ "' of collation "
								+ ((com.mysql.jdbc.ResultSetMetaData) this.rs
										.getMetaData())
										.getColumnCharacterSet(i + 1),
								numChars, this.rs.getString(i + 1).length());
					}
				}
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线不卡一区二区三区| 欧美一二三在线| 亚洲精品亚洲人成人网| 91在线观看高清| 亚洲欧美一区二区久久| 色菇凉天天综合网| 午夜精品爽啪视频| 精品国产一区久久| a亚洲天堂av| 午夜视频一区在线观看| 日韩手机在线导航| 粉嫩绯色av一区二区在线观看| 国产午夜精品一区二区三区四区| fc2成人免费人成在线观看播放 | 欧美日韩高清影院| 人人狠狠综合久久亚洲| 久久亚洲免费视频| 99久久伊人久久99| 视频在线观看91| 久久综合久久久久88| av中文字幕不卡| 日韩国产欧美一区二区三区| 欧美高清www午色夜在线视频| 久久99热这里只有精品| 亚洲视频资源在线| 欧美一区二区三区不卡| 成人看片黄a免费看在线| 亚洲一区二区视频在线| 久久久国产一区二区三区四区小说| caoporm超碰国产精品| 琪琪一区二区三区| 亚洲色图制服诱惑| 欧美videofree性高清杂交| 福利一区在线观看| 三级精品在线观看| 中文欧美字幕免费| 欧美一区午夜精品| 99久久综合精品| 国产真实乱子伦精品视频| 亚洲精品亚洲人成人网在线播放| 26uuu国产电影一区二区| 欧美色图12p| 成人激情动漫在线观看| 日本一区中文字幕| 一区二区三区四区蜜桃| 亚洲精品一区二区三区精华液| 91成人国产精品| 国产成a人无v码亚洲福利| 日本91福利区| 亚洲国产精品影院| ...av二区三区久久精品| 精品国产乱码久久| 91精品国产丝袜白色高跟鞋| 欧美亚洲国产怡红院影院| 99在线精品免费| 丁香六月久久综合狠狠色| 看片网站欧美日韩| 午夜久久久久久久久久一区二区| 亚洲免费观看高清完整版在线观看熊| 欧美精品一区二区在线观看| 欧美精品在线观看一区二区| 91精品91久久久中77777| 粉嫩av亚洲一区二区图片| 国产精品一区免费在线观看| 久久国产精品72免费观看| 五月综合激情网| 亚洲第一会所有码转帖| 亚洲久本草在线中文字幕| 国产精品的网站| 国产精品素人视频| 欧美高清在线一区二区| 久久久精品tv| 国产区在线观看成人精品| 久久久夜色精品亚洲| 精品少妇一区二区三区日产乱码| 91精品国产一区二区人妖| 欧美一区二区三区成人| 精品日韩在线观看| 欧美精品一区二区三区久久久| 精品欧美一区二区久久| 精品国产91久久久久久久妲己| 日韩女优制服丝袜电影| 精品奇米国产一区二区三区| 精品成人一区二区三区四区| 国产日韩欧美精品综合| 国产精品免费视频网站| 最新国产の精品合集bt伙计| 有坂深雪av一区二区精品| 亚洲一区二区在线观看视频 | 国内久久精品视频| 极品美女销魂一区二区三区免费| 激情欧美一区二区| 成人一区二区三区视频在线观看| k8久久久一区二区三区| 欧美午夜影院一区| 日韩三级中文字幕| 中文字幕av一区二区三区高 | 美国十次综合导航| 国产乱码字幕精品高清av| 成人性生交大合| 色婷婷精品大视频在线蜜桃视频 | 黄色资源网久久资源365| 国产成+人+日韩+欧美+亚洲| 色哦色哦哦色天天综合| 欧美理论在线播放| 久久免费看少妇高潮| 综合久久久久综合| 偷拍与自拍一区| 国产精品正在播放| 在线视频综合导航| 精品va天堂亚洲国产| 亚洲人精品午夜| 日本美女一区二区三区视频| 国产91富婆露脸刺激对白| 色综合天天综合狠狠| 欧美一级电影网站| 亚洲欧美欧美一区二区三区| 秋霞电影一区二区| 成人高清视频在线| 91精品国产一区二区三区蜜臀| 国产女主播一区| 视频一区免费在线观看| 成人一区在线观看| 911国产精品| 亚洲日本电影在线| 精品午夜一区二区三区在线观看 | 国产成人99久久亚洲综合精品| 欧洲人成人精品| 久久精品亚洲麻豆av一区二区| 亚洲午夜久久久久久久久电影院 | 91.麻豆视频| 亚洲视频在线一区观看| 国产一区二区三区蝌蚪| 欧美写真视频网站| 最新国产成人在线观看| 久久成人综合网| 欧美视频一区二区在线观看| 国产精品美女一区二区三区| 奇米在线7777在线精品| 91亚洲永久精品| 中文一区二区在线观看| 久久成人免费网| 欧美日韩国产a| 亚洲国产精品自拍| 日本高清不卡视频| 中文字幕在线一区免费| 国产成人综合在线观看| 日韩精品一区二区三区视频播放 | 5月丁香婷婷综合| 亚洲综合在线第一页| av一二三不卡影片| 国产日韩欧美一区二区三区综合| 麻豆成人免费电影| 欧美精品aⅴ在线视频| 尤物av一区二区| 色女孩综合影院| 亚洲欧美偷拍三级| av亚洲精华国产精华| 国产精品久久影院| 不卡的av在线播放| 日产欧产美韩系列久久99| 色综合天天综合网国产成人综合天| 中文av一区二区| av电影在线不卡| 欧美经典一区二区| 国产aⅴ综合色| 国产精品久久久久7777按摩| 粉嫩绯色av一区二区在线观看| 亚洲国产精品二十页| 成人黄色小视频| 亚洲视频精选在线| 在线视频中文字幕一区二区| 一区二区理论电影在线观看| 色乱码一区二区三区88| 亚洲国产一区视频| 欧美日韩日日摸| 奇米色777欧美一区二区| 91精品国产色综合久久ai换脸| 日韩经典一区二区| 精品av久久707| 国产不卡在线一区| 一区二区三区欧美久久| 欧美色男人天堂| 久久狠狠亚洲综合| 久久久久久夜精品精品免费| 成人小视频免费在线观看| 国产精品成人在线观看| 91福利在线免费观看| 亚洲bt欧美bt精品777| 日韩一区二区三区在线视频| 久久99热国产| 一色屋精品亚洲香蕉网站| 色婷婷狠狠综合| 日本最新不卡在线| 精品国产伦一区二区三区观看方式| 国产成人午夜99999| 一区二区在线看| 日韩一区二区三区视频| 国产成人av在线影院| 亚洲黄色av一区|