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


Java ResultSetMetaData.isNullable方法代碼示例

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


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

示例1: isEqualsTo

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
boolean isEqualsTo(ResultSetMetaData metadata, int colNum) throws SQLException {
  return
      metadata.getCatalogName(colNum).equals(InfoSchemaConstants.IS_CATALOG_NAME) &&
      metadata.getSchemaName(colNum).isEmpty() &&
      metadata.getTableName(colNum).isEmpty() &&
      metadata.getColumnName(colNum).equals(columnName) &&
      metadata.getColumnLabel(colNum).equals(columnName) &&
      metadata.getColumnType(colNum) == type &&
      metadata.isNullable(colNum) == nullable &&
      // There is an existing bug where query results doesn't contain the precision for VARCHAR field.
      //metadata.getPrecision(colNum) == precision &&
      metadata.getScale(colNum) == scale &&
      metadata.isSigned(colNum) == signed &&
      metadata.getColumnDisplaySize(colNum) == displaySize &&
      metadata.getColumnClassName(colNum).equals(className) &&
      metadata.isSearchable(colNum) &&
      metadata.isAutoIncrement(colNum) == false &&
      metadata.isCaseSensitive(colNum) == false &&
      metadata.isReadOnly(colNum) &&
      metadata.isWritable(colNum) == false &&
      metadata.isDefinitelyWritable(colNum) == false &&
      metadata.isCurrency(colNum) == false;
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:24,代碼來源:PreparedStatementTest.java

示例2: toFlag

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
public static int toFlag(ResultSetMetaData metaData, int column)
		throws SQLException {

	int flags = 0;
	if (metaData.isNullable(column) == 1) {
		flags |= 1;
	}

	if (metaData.isSigned(column)) {
		flags |= 16;
	}

	if (metaData.isAutoIncrement(column)) {
		flags |= 128;
	}

	return flags;
}
 
開發者ID:huang-up,項目名稱:mycat-src-1.6.1-RELEASE,代碼行數:19,代碼來源:ResultSetUtil.java

示例3: toString

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
private static String toString(ResultSetMetaData metadata, int colNum) throws SQLException {
  return "ResultSetMetaData(" + colNum + ")[" +
      "columnName='" + metadata.getColumnName(colNum) + '\'' +
      ", type='" + metadata.getColumnType(colNum) + '\'' +
      ", nullable=" + metadata.isNullable(colNum) +
      ", displaySize=" + metadata.getColumnDisplaySize(colNum) +
      ", precision=" + metadata.getPrecision(colNum) +
      ", scale=" + metadata.getScale(colNum) +
      ", signed=" + metadata.isSigned(colNum) +
      ", className='" + metadata.getColumnClassName(colNum) + '\'' +
      ']';
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:13,代碼來源:PreparedStatementTest.java

示例4: validateResultSet

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
private MultiShardException validateResultSet(ResultSet r,
        ShardLocation loc) throws SQLException {
    if (r.isClosed()) {
        // ResultSet is already closed. Hence adding an exception in its place.
        return new MultiShardException(loc, new MultiShardResultSetClosedException(
                String.format("The result set for '%1$s' was closed and could not be added.", loc.getDatabase())));
    }
    ResultSetMetaData m = r.getMetaData();
    if (m == null || m.getColumnCount() == 0) {
        // ResultSet does not have proper metadata to read.
        return new MultiShardException(loc, new MultiShardResultSetInternalException(
                String.format("The result set for '%1$s' does not have proper metadata to read and could not be added.", loc.getDatabase())));
    }
    if (this.schemaComparisonTemplate == null) {
        this.schemaComparisonTemplate = r.getMetaData();
        return null;
    }
    for (int i = 1; i <= m.getColumnCount(); i++) {
        // Get the designated column's name.
        String expectedName = this.schemaComparisonTemplate.getColumnName(i);
        String actualName = m.getColumnName(i);
        if (!Objects.equals(expectedName, actualName)) {
            return new MultiShardException(loc, new MultiShardSchemaMismatchException(loc,
                    String.format("Expected schema column name %1$s, but encountered schema column name %2$s.", expectedName, actualName)));
        }

        // Retrieves the designated column's SQL type.
        if (!Objects.equals(this.schemaComparisonTemplate.getColumnType(i), m.getColumnType(i))) {
            return new MultiShardException(loc,
                    new MultiShardSchemaMismatchException(loc,
                            String.format("Mismatched SQL type values for column %1$s. Expected: %2$s. Actual: %3$s", actualName,
                                    this.schemaComparisonTemplate.getColumnTypeName(i), m.getColumnTypeName(i))));
        }

        // Get the designated column's specified column size.
        int expectedPrecision = this.schemaComparisonTemplate.getPrecision(i);
        int actualPrecision = m.getPrecision(i);
        if (!Objects.equals(expectedPrecision, actualPrecision)) {
            return new MultiShardException(loc,
                    new MultiShardSchemaMismatchException(loc,
                            String.format("Mismatched nullability values for column %1$s. Expected: %2$s. Actual: %3$s", actualName,
                                    expectedPrecision, actualPrecision)));
        }

        // Indicates the nullability of values in the designated column.
        int expectedNullableValue = this.schemaComparisonTemplate.isNullable(i);
        int actualNullableValue = m.isNullable(i);
        if (!Objects.equals(expectedNullableValue, actualNullableValue)) {
            return new MultiShardException(loc,
                    new MultiShardSchemaMismatchException(loc,
                            String.format("Mismatched nullability values for column %1$s. Expected: %2$s. Actual: %3$s", actualName,
                                    NullableValue.forValue(expectedNullableValue), NullableValue.forValue(actualNullableValue))));
        }
    }
    return null;
}
 
開發者ID:Microsoft,項目名稱:elastic-db-tools-for-java,代碼行數:57,代碼來源:MultiShardStatement.java

示例5: setTable

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
/**
 * Configures this class, by reading in the structure of the log-table
 * Throws an exception, if an database-error occurs !
 * 
 * @param _table
 *            Description of Parameter
 * @exception Exception
 *                Description of Exception
 */
public void setTable(String _table) throws Exception {
	if (isconfigured) { return; }

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

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

	//Fill logcols with META-informations of the table-columns
	stmt = this.createUpdatableStatement();

	rs = stmt.executeQuery("SELECT " + _table + ".* FROM " + _table + " WHERE 1 = 2");

	JDBCLogColumn logcol;

	ResultSetMetaData rsmd = rs.getMetaData();

	num = rsmd.getColumnCount();

	logcols = new ArrayList(num);

	for (int i = 1; i <= num; i++) {
		logcol = new JDBCLogColumn();
		logcol.name = rsmd.getColumnName(i).toUpperCase();
		logcol.sqlType = rsmd.getColumnType(i);
		logcol.type = rsmd.getColumnTypeName(i);
		logcol.nullable = (rsmd.isNullable(i) == ResultSetMetaData.columnNullable);
		logcol.isWritable = rsmd.isWritable(i);
		if (!logcol.isWritable) {
			logcol.ignore = true;
		}
		logcols.add(logcol);
	}

	table = _table;

	rs.close();
	stmt.close();
	freeConnection();

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

示例6: findMultiColumnInfos

import java.sql.ResultSetMetaData; //導入方法依賴的package包/類
public List<ColumnInfo> findMultiColumnInfos(String dbInfoId, String sql) throws Exception {
	if (!StringUtils.hasText(sql)) {
		return null;
	}
	DataSource ds = this.getDataSourceByDbInfoId(dbInfoId);
	Connection conn = null;
	Statement st = null;
	ResultSet rs = null;
	try {
		conn = DataSourceUtils.getConnection(ds);
		st = conn.createStatement();
		rs = st.executeQuery(sql);
		ResultSetMetaData rsmd = rs.getMetaData();
		int count = rsmd.getColumnCount();
		List<ColumnInfo> columnNames = new ArrayList<ColumnInfo>();
		ColumnInfo columnInfo = null;
		for (int i = 1; i <= count; i++) {
			columnInfo = new ColumnInfo();
			columnInfo.setColumnName(rsmd.getColumnLabel(i));
			columnInfo.setColumnType(rsmd.getColumnTypeName(i));
			columnInfo.setTableName(rsmd.getTableName(i));
			if (rsmd.getPrecision(i) > 0 && !columnInfo.getColumnType().equals("DATETIME") && !columnInfo.getColumnType().equals("TIMESTAMP") && !columnInfo.getColumnType().equals("DATE")) {
				columnInfo.setColumnSize(String.valueOf(rsmd.getPrecision(i)));
			}
			if (rsmd.getScale(i) > 0 && !columnInfo.getColumnType().equals("DATETIME") && !columnInfo.getColumnType().equals("TIMESTAMP") && !columnInfo.getColumnType().equals("DATE")) {
				columnInfo.setColumnSize(columnInfo.getColumnSize() + "," + rsmd.getScale(i));
			}
			int flagI = rsmd.isNullable(i);
			if (flagI == 0) {
				columnInfo.setIsnullAble(false);
			} else {
				columnInfo.setIsnullAble(true);
			}
			columnNames.add(columnInfo);
		}
		return columnNames;
	} finally {
		JdbcUtils.closeResultSet(rs);
		JdbcUtils.closeStatement(st);
		JdbcUtils.closeConnection(conn);
	}
}
 
開發者ID:bsteker,項目名稱:bdf2,代碼行數:43,代碼來源:DbCommonServiceImpl.java


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