當前位置: 首頁>>代碼示例>>Java>>正文


Java ParameterMetaData.getParameterTypeName方法代碼示例

本文整理匯總了Java中java.sql.ParameterMetaData.getParameterTypeName方法的典型用法代碼示例。如果您正苦於以下問題:Java ParameterMetaData.getParameterTypeName方法的具體用法?Java ParameterMetaData.getParameterTypeName怎麽用?Java ParameterMetaData.getParameterTypeName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.sql.ParameterMetaData的用法示例。


在下文中一共展示了ParameterMetaData.getParameterTypeName方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: setProcedure

import java.sql.ParameterMetaData; //導入方法依賴的package包/類
/**
 * @param procedure The procedure to set.
 * @param columns columns
 * @exception  Exception  Description of Exception
 */
public void setProcedure(String procedure, ArrayList columns) throws Exception {
	if (isconfigured) { return; }

	if (poolConnectionHandler != null) {
		con = poolConnectionHandler.getConnection();

		if (!isConnected()) { throw new Exception(
				"JDBCLogger::setProcedure(), Given connection isnt connected to database !"); }
	}

	this.procedure = procedure;
	// prepare call
	CallableStatement cStmt = this.createCallableStatement(columns.size());

	JDBCLogColumn logcol;

	ParameterMetaData pmd;

	// 2.6.2005 jschmied
	// ParameterMetaData is supported on different levels by Oracle
	try {
		// J2SDK 1.4+; limited support by Oracle drivers 10.x and 9.x
		pmd = cStmt.getParameterMetaData();
		num = pmd.getParameterCount();
		if (num >= 1) {
			// oracle 10.1.0.4 has some stubs in ParameterMetaData, 
			// try if a function throws a UnsupportedFeature exception
			pmd.getParameterType(1);
			pmd.getParameterTypeName(1);
			pmd.isNullable(1);
		}
	} catch (Exception e) {
		pmd = null;
		num = columns.size();
	}

	logcols = new ArrayList(num);

	for (int i = 1; i <= num; i++) {
		logcol = new JDBCLogColumn();
		JDBCColumnStorage col = (JDBCColumnStorage) columns.get(i - 1);
		logcol.name = col.column.toUpperCase();
		if (pmd == null) {
			logcol.type = col.type;
			logcol.sqlType = col.sqlType;
			logcol.nullable = true; // assume true
		} else {
			logcol.type = pmd.getParameterTypeName(i);
			logcol.sqlType = pmd.getParameterType(i);
			logcol.nullable = (pmd.isNullable(i) == ParameterMetaData.parameterNullable);
		}
		logcol.isWritable = true;
		logcols.add(logcol);
	}

	cStmt.close();
	freeConnection();

	isconfigured = true;

}
 
開發者ID:jaffa-projects,項目名稱:jaffa-framework,代碼行數:67,代碼來源:JDBCLogger.java

示例2: writeSQLUDTGRP

import java.sql.ParameterMetaData; //導入方法依賴的package包/類
/**
 * Write SQLUDTGRP (SQL Descriptor User-Defined Type Group Descriptor)
 * 
 * This is the format from the DRDA spec, Volume 1, section 5.6.4.10.
    * However, this format is not rich enough to carry the information needed
    * by JDBC. This format does not have a subtype code for JAVA_OBJECT and
    * this format does not convey the Java class name needed
    * by ResultSetMetaData.getColumnClassName().
 *
 *   SQLUDXTYPE; DRDA TYPE I4; ENVLID 0x02; Length Override 4
    *                        Constants which map to java.sql.Types constants DISTINCT, STRUCT, and REF.
    *                        But DRDA does not define a constant which maps to java.sql.Types.JAVA_OBJECT.
 *   SQLUDTRDB; DRDA TYPE VCS; ENVLID 0x32; Length Override 255
    *                       Database name.
 *   SQLUDTSCHEMA_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 255
 *   SQLUDTSCHEMA_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 255
    *                         Schema name. One of the above.
 *   SQLUDTNAME_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 255
 *   SQLUDTNAME_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 255
    *                         Unqualified UDT name. One of the above.
 *
 * Instead, we use the following format and only for communication between
    * Derby servers and Derby clients which are both at version 10.4 or higher.
    * For all other client/server combinations, we send null.
 *
 *   SQLUDTNAME_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override 255
 *   SQLUDTNAME_s; DRDA TYPE VCS; ENVLID 0x32; Length Override 255
    *                         Fully qualified UDT name. One of the above.
 *   SQLUDTCLASSNAME_m; DRDA TYPE VCM; ENVLID 0x3E; Length Override FdocaConstants.LONGVARCHAR_MAX_LEN
 *   SQLUDTCLASSNAME_s; DRDA TYPE VCS; ENVLID 0x32; Length Override FdocaConstants.LONGVARCHAR_MAX_LEN
    *                         Name of the Java class bound to the UDT. One of the above.
 *
 * @param rsmeta	resultset meta data
 * @param pmeta		parameter meta data
 * @param elemNum	column number we are returning (in case of result set), or,
 *					parameter number (in case of parameter)
 * @param rtnOutput	whether this is for a result set	
 *
 * @throws DRDAProtocolException
    * @throws SQLException
 */
private void writeSQLUDTGRP(ResultSetMetaData rsmeta,
							ParameterMetaData pmeta,
							int jdbcElemNum, boolean rtnOutput)
	throws DRDAProtocolException,SQLException
{
       int jdbcType = rtnOutput ?
           rsmeta.getColumnType( jdbcElemNum) : pmeta.getParameterType( jdbcElemNum );

       if ( !(jdbcType == Types.JAVA_OBJECT) || !appRequester.supportsUDTs() )
       {
           writer.writeByte(CodePoint.NULLDATA);
           return;
       }
       
	String typeName = rtnOutput ?
           rsmeta.getColumnTypeName( jdbcElemNum ) : pmeta.getParameterTypeName( jdbcElemNum );
       String className = rtnOutput ?
           rsmeta.getColumnClassName( jdbcElemNum ) : pmeta.getParameterClassName( jdbcElemNum );
       
	writeVCMorVCS( typeName );
	writeVCMorVCS( className );
}
 
開發者ID:gemxd,項目名稱:gemfirexd-oss,代碼行數:64,代碼來源:DRDAConnThread.java


注:本文中的java.sql.ParameterMetaData.getParameterTypeName方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。