当前位置: 首页>>代码示例>>Java>>正文


Java ParameterMetaData.getParameterClassName方法代码示例

本文整理汇总了Java中java.sql.ParameterMetaData.getParameterClassName方法的典型用法代码示例。如果您正苦于以下问题:Java ParameterMetaData.getParameterClassName方法的具体用法?Java ParameterMetaData.getParameterClassName怎么用?Java ParameterMetaData.getParameterClassName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.sql.ParameterMetaData的用法示例。


在下文中一共展示了ParameterMetaData.getParameterClassName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: 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

示例2: setupCallableStatementParams

import java.sql.ParameterMetaData; //导入方法依赖的package包/类
private void setupCallableStatementParams(CallableStatement cs) throws SQLException
{
	ParameterMetaData pmeta = getParameterMetaData();
	int numElems = pmeta.getParameterCount();

	for ( int i = 0; i < numElems; i ++)
	{
		boolean outputFlag = false;
		
		int parameterMode = pmeta.getParameterMode(i + 1);
		int parameterType = pmeta.getParameterType(i + 1);
                       int parameterPrecision = pmeta.getPrecision(i + 1);
                       int parameterScale = pmeta.getScale(i + 1);

		switch (parameterMode) {
			case JDBC30Translation.PARAMETER_MODE_IN:
				break;
			case JDBC30Translation.PARAMETER_MODE_OUT:
			case JDBC30Translation.PARAMETER_MODE_IN_OUT:
				outputFlag = true;
				break;
			case JDBC30Translation.PARAMETER_MODE_UNKNOWN:
				// It's only unknown if array
				String objectType = pmeta.getParameterClassName(i+1);
				parameterType =
					getOutputParameterTypeFromClassName(objectType);
				if (parameterType  != NOT_OUTPUT_PARAM)
					outputFlag = true;
		}

		if (outputFlag)
		{
			if (outputTypes == null) //not initialized yet, since previously none output
			{
				outputTypes = new int[numElems];
				outputPrecision = new int [numElems];
				outputScale = new int [numElems];
				for (int j = 0; j < numElems; j++) {
					outputTypes[j] = NOT_OUTPUT_PARAM;  //default init value
					outputPrecision[j] = NOT_OUTPUT_PARAM;
					outputScale[j] = NOT_OUTPUT_PARAM;
				}
			}
			// save the output type so we can register when we parse
			// the SQLDTA
			outputTypes[i] = parameterType;
			outputPrecision[i] = parameterPrecision;
			outputScale[i] = parameterScale;                
		}
		
	}
}
 
开发者ID:gemxd,项目名称:gemfirexd-oss,代码行数:53,代码来源:DRDAStatement.java


注:本文中的java.sql.ParameterMetaData.getParameterClassName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。