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

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

?? databasemetadatausinginfoschema.java

?? 用于JAVA數據庫連接.解壓就可用,方便得很
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
	 * <li> <B>TABLE_CAT</B> String => table catalog (may be null) </li>
	 * <li> <B>TABLE_SCHEM</B> String => table schema (may be null) </li>
	 * <li> <B>TABLE_NAME</B> String => table name </li>
	 * <li> <B>COLUMN_NAME</B> String => column name </li>
	 * <li> <B>KEY_SEQ</B> short => sequence number within primary key </li>
	 * <li> <B>PK_NAME</B> String => primary key name (may be null) </li>
	 * </ol>
	 * </p>
	 * 
	 * @param catalog
	 *            a catalog name; "" retrieves those without a catalog
	 * @param schema
	 *            a schema name pattern; "" retrieves those without a schema
	 * @param table
	 *            a table name
	 * @return ResultSet each row is a primary key column description
	 * @throws SQLException
	 *             DOCUMENT ME!
	 */
	public java.sql.ResultSet getPrimaryKeys(String catalog, String schema,
			String table) throws SQLException {

		if (catalog == null) {
			if (this.conn.getNullCatalogMeansCurrent()) {
				catalog = this.database;
			}
		}

		if (table == null) {
			throw SQLError.createSQLException("Table not specified.",
					SQLError.SQL_STATE_ILLEGAL_ARGUMENT);
		}

		String sql = "SELECT TABLE_SCHEMA AS TABLE_CAT, NULL AS TABLE_SCHEM, TABLE_NAME, "
				+ "COLUMN_NAME, SEQ_IN_INDEX AS KEY_SEQ, 'PRIMARY' AS PK_NAME FROM INFORMATION_SCHEMA.STATISTICS "
				+ "WHERE TABLE_SCHEMA LIKE ? AND TABLE_NAME LIKE ? AND "
				+ "INDEX_NAME='PRIMARY' ORDER BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX";

		PreparedStatement pStmt = null;

		try {
			pStmt = prepareMetaDataSafeStatement(sql);

			if (catalog != null) {
				pStmt.setString(1, catalog);
			} else {
				pStmt.setString(1, "%");
			}
			
			pStmt.setString(2, table);

			ResultSet rs = executeMetadataQuery(pStmt);
			((com.mysql.jdbc.ResultSetInternalMethods) rs).redefineFieldsForDBMD(new Field[] {
					new Field("", "TABLE_CAT", Types.CHAR, 255),
					new Field("", "TABLE_SCHEM", Types.CHAR, 0),
					new Field("", "TABLE_NAME", Types.CHAR, 255),
					new Field("", "COLUMN_NAME", Types.CHAR, 32),
					new Field("", "KEY_SEQ", Types.SMALLINT, 5),
					new Field("", "PK_NAME", Types.CHAR, 32) });

			return rs;
		} finally {
			if (pStmt != null) {
				pStmt.close();
			}
		}
	}

	/**
	 * Get a description of stored procedures available in a catalog.
	 * <P>
	 * Only procedure descriptions matching the schema and procedure name
	 * criteria are returned. They are ordered by PROCEDURE_SCHEM, and
	 * PROCEDURE_NAME.
	 * </p>
	 * <P>
	 * Each procedure description has the the following columns:
	 * <OL>
	 * <li> <B>PROCEDURE_CAT</B> String => procedure catalog (may be null)
	 * </li>
	 * <li> <B>PROCEDURE_SCHEM</B> String => procedure schema (may be null)
	 * </li>
	 * <li> <B>PROCEDURE_NAME</B> String => procedure name </li>
	 * <li> reserved for future use </li>
	 * <li> reserved for future use </li>
	 * <li> reserved for future use </li>
	 * <li> <B>REMARKS</B> String => explanatory comment on the procedure </li>
	 * <li> <B>PROCEDURE_TYPE</B> short => kind of procedure:
	 * <UL>
	 * <li> procedureResultUnknown - May return a result </li>
	 * <li> procedureNoResult - Does not return a result </li>
	 * <li> procedureReturnsResult - Returns a result </li>
	 * </ul>
	 * </li>
	 * </ol>
	 * </p>
	 * 
	 * @param catalog
	 *            a catalog name; "" retrieves those without a catalog
	 * @param schemaPattern
	 *            a schema name pattern; "" retrieves those without a schema
	 * @param procedureNamePattern
	 *            a procedure name pattern
	 * @return ResultSet each row is a procedure description
	 * @throws SQLException
	 *             if a database access error occurs
	 * @see #getSearchStringEscape
	 */
	public ResultSet getProcedures(String catalog, String schemaPattern,
			String procedureNamePattern) throws SQLException {

		if ((procedureNamePattern == null)
				|| (procedureNamePattern.length() == 0)) {
			if (this.conn.getNullNamePatternMatchesAll()) {
				procedureNamePattern = "%";
			} else {
				throw SQLError.createSQLException(
						"Procedure name pattern can not be NULL or empty.",
						SQLError.SQL_STATE_ILLEGAL_ARGUMENT);
			}
		}

		String db = null;

		if (catalog == null) {
			if (this.conn.getNullCatalogMeansCurrent()) {
				db = this.database;
			}
		}

		String sql = "SELECT ROUTINE_SCHEMA AS PROCEDURE_CAT, "
				+ "NULL AS PROCEDURE_SCHEM, "
				+ "ROUTINE_NAME AS PROCEDURE_NAME, " + "NULL AS RESERVED_1, "
				+ "NULL AS RESERVED_2, " + "NULL AS RESERVED_3, "
				+ "ROUTINE_COMMENT AS REMARKS, "
				+ "CASE WHEN ROUTINE_TYPE = 'PROCEDURE' THEN "
				+ procedureNoResult + " WHEN ROUTINE_TYPE='FUNCTION' THEN "
				+ procedureReturnsResult + " ELSE " + procedureResultUnknown
				+ " END AS PROCEDURE_TYPE "
				+ "FROM INFORMATION_SCHEMA.ROUTINES WHERE "
				+ "ROUTINE_SCHEMA LIKE ? AND ROUTINE_NAME LIKE ? "
				+ "ORDER BY ROUTINE_SCHEMA, ROUTINE_NAME";

		PreparedStatement pStmt = null;

		try {
			pStmt = prepareMetaDataSafeStatement(sql);
			
			if (db != null) {
				pStmt.setString(1, db);
			} else {
				pStmt.setString(1, "%");
			}
			
			pStmt.setString(2, procedureNamePattern);

			ResultSet rs = executeMetadataQuery(pStmt);
			((com.mysql.jdbc.ResultSetInternalMethods) rs).redefineFieldsForDBMD(new Field[] {
					new Field("", "PROCEDURE_CAT", Types.CHAR, 0),
					new Field("", "PROCEDURE_SCHEM", Types.CHAR, 0),
					new Field("", "PROCEDURE_NAME", Types.CHAR, 0),
					new Field("", "reserved1", Types.CHAR, 0),
					new Field("", "reserved2", Types.CHAR, 0),
					new Field("", "reserved3", Types.CHAR, 0),
					new Field("", "REMARKS", Types.CHAR, 0),
					new Field("", "PROCEDURE_TYPE", Types.SMALLINT, 0) });

			return rs;
		} finally {
			if (pStmt != null) {
				pStmt.close();
			}
		}
	}

	/**
	 * Get a description of tables available in a catalog.
	 * <P>
	 * Only table descriptions matching the catalog, schema, table name and type
	 * criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and
	 * TABLE_NAME.
	 * </p>
	 * <P>
	 * Each table description has the following columns:
	 * <OL>
	 * <li> <B>TABLE_CAT</B> String => table catalog (may be null) </li>
	 * <li> <B>TABLE_SCHEM</B> String => table schema (may be null) </li>
	 * <li> <B>TABLE_NAME</B> String => table name </li>
	 * <li> <B>TABLE_TYPE</B> String => table type. Typical types are "TABLE",
	 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS",
	 * "SYNONYM". </li>
	 * <li> <B>REMARKS</B> String => explanatory comment on the table </li>
	 * </ol>
	 * </p>
	 * <P>
	 * <B>Note:</B> Some databases may not return information for all tables.
	 * </p>
	 * 
	 * @param catalog
	 *            a catalog name; "" retrieves those without a catalog
	 * @param schemaPattern
	 *            a schema name pattern; "" retrieves those without a schema
	 * @param tableNamePattern
	 *            a table name pattern
	 * @param types
	 *            a list of table types to include; null returns all types
	 * @return ResultSet each row is a table description
	 * @throws SQLException
	 *             DOCUMENT ME!
	 * @see #getSearchStringEscape
	 */
	public ResultSet getTables(String catalog, String schemaPattern,
			String tableNamePattern, String[] types) throws SQLException {
		if (catalog == null) {
			if (this.conn.getNullCatalogMeansCurrent()) {
				catalog = this.database;
			}
		}

		if (tableNamePattern == null) {
			if (this.conn.getNullNamePatternMatchesAll()) {
				tableNamePattern = "%";
			} else {
				throw SQLError.createSQLException(
						"Table name pattern can not be NULL or empty.",
						SQLError.SQL_STATE_ILLEGAL_ARGUMENT);
			}
		}

		PreparedStatement pStmt = null;

		String sql = "SELECT TABLE_SCHEMA AS TABLE_CAT, "
				+ "NULL AS TABLE_SCHEM, TABLE_NAME, "
				+ "CASE WHEN TABLE_TYPE='BASE TABLE' THEN 'TABLE' WHEN TABLE_TYPE='TEMPORARY' THEN 'LOCAL_TEMPORARY' ELSE TABLE_TYPE END AS TABLE_TYPE, "
				+ "TABLE_COMMENT AS REMARKS "
				+ "FROM INFORMATION_SCHEMA.TABLES WHERE "
				+ "TABLE_SCHEMA LIKE ? AND TABLE_NAME LIKE ? AND TABLE_TYPE IN (?,?,?) "
				+ "ORDER BY TABLE_TYPE, TABLE_SCHEMA, TABLE_NAME";
		try {
			pStmt = prepareMetaDataSafeStatement(sql);
			
			if (catalog != null) {
				pStmt.setString(1, catalog);
			} else {
				pStmt.setString(1, "%");
			}
			
			pStmt.setString(2, tableNamePattern);

			// This overloading of IN (...) allows us to cache this
			// prepared statement
			if (types == null || types.length == 0) {
				pStmt.setString(3, "BASE TABLE");
				pStmt.setString(4, "VIEW");
				pStmt.setString(5, "TEMPORARY");
			} else {
				pStmt.setNull(3, Types.VARCHAR);
				pStmt.setNull(4, Types.VARCHAR);
				pStmt.setNull(5, Types.VARCHAR);

				for (int i = 0; i < types.length; i++) {
					if ("TABLE".equalsIgnoreCase(types[i])) {
						pStmt.setString(3, "BASE TABLE");
					}

					if ("VIEW".equalsIgnoreCase(types[i])) {
						pStmt.setString(4, "VIEW");
					}

					if ("LOCAL TEMPORARY".equalsIgnoreCase(types[i])) {
						pStmt.setString(5, "TEMPORARY");
					}
				}
			}

			ResultSet rs = executeMetadataQuery(pStmt);

			((com.mysql.jdbc.ResultSetInternalMethods) rs).redefineFieldsForDBMD(new Field[] {
					new Field("", "TABLE_CAT", java.sql.Types.VARCHAR,
							(catalog == null) ? 0 : catalog.length()),
					new Field("", "TABLE_SCHEM", java.sql.Types.VARCHAR, 0),
					new Field("", "TABLE_NAME", java.sql.Types.VARCHAR, 255),
					new Field("", "TABLE_TYPE", java.sql.Types.VARCHAR, 5),
					new Field("", "REMARKS", java.sql.Types.VARCHAR, 0) });

			return rs;
		} finally {
			if (pStmt != null) {
				pStmt.close();
			}
		}
	}

	private PreparedStatement prepareMetaDataSafeStatement(String sql)
			throws SQLException {
		// Can't use server-side here as we coerce a lot of types to match
		// the spec.
		PreparedStatement pStmt = (PreparedStatement) this.conn.clientPrepareStatement(sql);

		if (pStmt.getMaxRows() != 0) {
			pStmt.setMaxRows(0);
		}

		pStmt.setHoldResultsOpenOverClose(true);

		return pStmt;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲精品一区二区三区| 欧美一区二区免费| 韩日精品视频一区| 一区二区欧美精品| 精品久久久久av影院| 日韩一级二级三级| 欧美一级片在线| 91精品国模一区二区三区| 91福利社在线观看| av不卡免费在线观看| 成人久久久精品乱码一区二区三区 | 国产女主播在线一区二区| 欧美xxx久久| 国产午夜亚洲精品理论片色戒| 精品国产凹凸成av人导航| 精品国产露脸精彩对白| 2022国产精品视频| 精品久久人人做人人爱| 久久综合久久鬼色| 久久精品视频在线免费观看| 国产女人水真多18毛片18精品视频| 亚洲精品一区二区三区99| 欧美成人国产一区二区| 国产日韩欧美高清在线| 国产精品久99| 亚洲一区二区三区爽爽爽爽爽| 亚洲电影你懂得| 国产一区二区h| 99免费精品视频| 欧美日韩精品久久久| 日韩精品影音先锋| 中文字幕成人av| 亚洲成国产人片在线观看| 日韩成人一区二区三区在线观看| 国产精品一色哟哟哟| 91丨九色丨蝌蚪富婆spa| 欧美精品久久天天躁| 久久蜜臀精品av| 亚洲妇熟xx妇色黄| 国产精品影视网| 欧美日韩一区在线| 国产三级欧美三级| 亚洲福利视频导航| 99久久精品99国产精品| 精品久久国产老人久久综合| 亚洲欧洲成人精品av97| 狠狠色综合播放一区二区| 欧美体内she精视频| 国产精品免费网站在线观看| 精品一区二区日韩| av中文字幕一区| 制服丝袜av成人在线看| 一区二区三区视频在线观看| 福利电影一区二区三区| 欧美一区二区三区四区五区 | 国产成a人无v码亚洲福利| 欧美人狂配大交3d怪物一区| 国产亚洲综合av| 久草热8精品视频在线观看| 欧美日韩一区在线观看| 亚洲一区二区中文在线| 欧美在线一区二区三区| 中国色在线观看另类| 国产精品12区| 中文字幕第一区二区| 成人自拍视频在线| 久久精品一区四区| 丁香桃色午夜亚洲一区二区三区| 精品日韩99亚洲| 国产一二精品视频| 欧美国产视频在线| 粉嫩aⅴ一区二区三区四区| 国产欧美日韩卡一| 不卡的电视剧免费网站有什么| 国产女人18毛片水真多成人如厕 | 日韩欧美精品三级| 国产精品亚洲一区二区三区在线| 国产欧美一区二区三区沐欲| 播五月开心婷婷综合| 亚洲女爱视频在线| 在线播放/欧美激情| 精一区二区三区| 国产日韩精品一区二区三区在线| 99精品国产视频| 天天亚洲美女在线视频| 国产夜色精品一区二区av| 久久综合色婷婷| 成人av一区二区三区| 亚洲欧洲成人自拍| 欧美大胆一级视频| av网站免费线看精品| 日韩av网站免费在线| 国产精品每日更新| 8x8x8国产精品| 99精品视频一区二区三区| 日韩成人午夜电影| 一区二区三区在线视频免费| 丝袜国产日韩另类美女| 亚洲婷婷国产精品电影人久久| 日韩免费成人网| 在线视频观看一区| www.亚洲激情.com| 国产成人aaaa| 国内精品自线一区二区三区视频| 亚洲蜜桃精久久久久久久| 久久精品亚洲精品国产欧美kt∨ | 欧美电视剧在线观看完整版| 日本乱码高清不卡字幕| 国产成人高清在线| 另类调教123区| 人人爽香蕉精品| 婷婷久久综合九色国产成人| 一区二区三区欧美视频| 亚洲色图欧美在线| 亚洲色图在线视频| 亚洲色图第一区| 亚洲欧美日韩在线| 亚洲人快播电影网| 一区二区三区四区在线免费观看| 亚洲女子a中天字幕| 亚洲一区二区三区四区的| 亚洲国产日韩综合久久精品| 亚洲卡通动漫在线| 亚洲一区二区三区美女| 亚洲一区二区在线视频| 日韩成人dvd| 国产一区二区三区不卡在线观看| 狠狠色丁香婷婷综合| 国产一区在线看| 99精品欧美一区| 欧美在线看片a免费观看| 欧美一区二区在线播放| 日韩一区二区电影网| 国产精品久久午夜| 亚洲国产aⅴ成人精品无吗| 青娱乐精品视频在线| 99精品视频在线播放观看| 欧美精品tushy高清| 久久综合色之久久综合| 亚洲欧美一区二区三区久本道91| 爽好久久久欧美精品| 成人永久aaa| 9191精品国产综合久久久久久 | 亚洲午夜av在线| 久久福利视频一区二区| av不卡一区二区三区| 日韩视频免费观看高清完整版在线观看 | 久久精品视频在线看| 午夜精品福利一区二区三区蜜桃| 激情欧美一区二区| 欧美色男人天堂| 亚洲国产高清aⅴ视频| 免费观看一级欧美片| 91蜜桃在线观看| 日本一区二区三级电影在线观看| 波多野结衣在线aⅴ中文字幕不卡| 色999日韩国产欧美一区二区| 欧美国产精品久久| 久久99精品国产.久久久久 | 伦理电影国产精品| 欧美日韩国产a| 亚洲精品老司机| av电影天堂一区二区在线| 久久综合网色—综合色88| 婷婷丁香久久五月婷婷| 欧美美女直播网站| 亚洲免费伊人电影| 97久久超碰国产精品电影| 国产精品三级视频| 91麻豆自制传媒国产之光| 国产日韩欧美精品电影三级在线| 国产精品91一区二区| 欧美激情一区二区| 国产成人免费视频网站高清观看视频| 日韩欧美精品在线视频| 久久99精品国产麻豆不卡| 亚洲精品一区二区三区精华液| 国产曰批免费观看久久久| 国产精品私人影院| 91免费在线播放| 亚洲一区二区三区在线播放| 欧美天堂一区二区三区| 美女久久久精品| 国产亚洲va综合人人澡精品| 97久久久精品综合88久久| 亚洲一区二三区| 日韩三级.com| 99久久精品一区二区| 一区二区三区国产| 欧美一区二区久久| 国产成人av资源| 亚洲成av人影院| 日本一区二区三区在线观看| 91激情在线视频| 国产伦精品一区二区三区视频青涩| 欧美国产日韩a欧美在线观看| 在线看国产一区| 成人精品国产福利| 美女高潮久久久| 亚洲一区在线观看免费|