Java code
public void getResultSetMetaData() {
String sqlStr = "SELECT * FROM STUDENTINFO";
ResultSet rs = null;
Statement smt = null;
try {
String[] tp = {"TABLE"};
smt = conn.createStatement();
rs = smt.executeQuery(sqlStr);
ResultSetMetaData rsmd = rs.getMetaData();
/*
获得ResultSetMeataData对象。所有方法的参数都是列的索引号,即第几列,从1开始
*/
System.out.println("下面这些方法是ResultSetMetaData中方法");
System.out.println("获得1列所在的Catalog名字 : " + rsmd.getCatalogName(1));
System.out.println("获得1列对应数据类型的类 " + rsmd.getColumnClassName(1));
System.out.println("获得该ResultSet所有列的数目 " + rsmd.getColumnCount());
System.out.println("1列在数据库中类型的最大字符个数" + rsmd.getColumnDisplaySize(1));
System.out.println("1列的默认的列的标题" + rsmd.getColumnLabel(1));
System.out.println("1列的模式" + rsmd.getSchemaName(1));
System.out.println("1列的类型,返回SqlType中的编号 " + rsmd.getColumnType(1));
System.out.println("1列在数据库中的类型,返回类型全名" + rsmd.getColumnTypeName(1));
System.out.println("1列类型的精确度(类型的长度): " + rsmd.getPrecision(1));
System.out.println("1列小数点后的位数 " + rsmd.getScale(1));
System.out.println("1列对应的模式的名称(应该用于Oracle) " + rsmd.getSchemaName(1));
System.out.println("1列对应的表名 " + rsmd.getTableName(1));
System.out.println("1列是否自动递增" + rsmd.isAutoIncrement(1));
System.out.println("1列在数据库中是否为货币型" + rsmd.isCurrency(1));
System.out.println("1列是否为空" + rsmd.isNullable(1));
System.out.println("1列是否为只读" + rsmd.isReadOnly(1));
System.out.println("1列能否出现在where中" + rsmd.isSearchable(1));
}
catch (SQLException ex) {
ex.printStackTrace();
}
}
getColumns
ResultSet getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
throws SQLException检索可在指定类别中使用的表列的描述。
仅返回与类别、模式、表和列名称标准匹配的列描述。它们根据 TABLE_SCHEM、TABLE_NAME 和 ORDINAL_POSITION 进行排序。
每个列描述都有以下列:
TABLE_CAT String => 表类别(可为 null)
TABLE_SCHEM String => 表模式(可为 null)
TABLE_NAME String => 表名称
COLUMN_NAME String => 列名称
DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型
TYPE_NAME String => 数据源依赖的类型名称,对于 UDT,该类型名称是完全限定的
COLUMN_SIZE int => 列的大小。对于 char 或 date 类型,列的大小是最大字符数,对于 numeric 和 decimal 类型,列的大小就是精度。
BUFFER_LENGTH 未被使用。
DECIMAL_DIGITS int => 小数部分的位数
NUM_PREC_RADIX int => 基数(通常为 10 或 2)
NULLABLE int => 是否允许使用 NULL。
columnNoNulls - 可能不允许使用 NULL 值
columnNullable - 明确允许使用 NULL 值
columnNullableUnknown - 不知道是否可使用 null
REMARKS String => 描述列的注释(可为 null)
COLUMN_DEF String => 默认值(可为 null)
SQL_DATA_TYPE int => 未使用
SQL_DATETIME_SUB int => 未使用
CHAR_OCTET_LENGTH int => 对于 char 类型,该长度是列中的最大字节数
ORDINAL_POSITION int => 表中的列的索引(从 1 开始)
IS_NULLABLE String => "NO" 表示明确不允许列使用 NULL 值,"YES" 表示可能允许列使用 NULL 值。空字符串表示没人知道是否允许使用 null 值。
SCOPE_CATLOG String => 表的类别,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null)
SCOPE_SCHEMA String => 表的模式,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null)
SCOPE_TABLE String => 表名称,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null)
SOURCE_DATA_TYPE short => 不同类型或用户生成 Ref 类型、来自 java.sql.Types 的 SQL 类型的源类型(如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF,则为 null)
有java-api 是多么的重要啊。呵呵
分享到:
相关推荐
课程设计要求全部实现:(java+mysql) 1.读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。 2.书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。 3.借书信息...
Java+MySQL实现的财务信息管理系统是一个用于管理和跟踪财务数据的软件系统。该系统旨在帮助企业或组织进行财务管理和分析,包括账目录入、报表生成、财务分析等功能。 Java+MySQL财务信息管理系统的主要功能包括...
基于Java+MySQL实现的图书销售管理系统源码+数据库sql.zip基于Java+MySQL实现的图书销售管理系统源码+数据库sql.zip基于Java+MySQL实现的图书销售管理系统源码+数据库sql.zip基于Java+MySQL实现的图书销售管理系统...
Java基于JavaSwing和Mysql数据库的KTV点歌系统源码.zipJava基于JavaSwing和Mysql数据库的KTV点歌系统源码.zipJava基于JavaSwing和Mysql数据库的KTV点歌系统源码.zipJava基于JavaSwing和Mysql数据库的KTV点歌系统源码...
基于Java和MySQL实现的超市管理系统源码+sql数据库(课设项目).zip基于Java和MySQL实现的超市管理系统源码+sql数据库(课设项目).zip基于Java和MySQL实现的超市管理系统源码+sql数据库(课设项目).zip基于Java和MySQL...
基于JAVA+MySQL的超市供销存管理系统源码-毕业设计.zip基于JAVA+MySQL的超市供销存管理系统源码-毕业设计.zip基于JAVA+MySQL的超市供销存管理系统源码-毕业设计.zip基于JAVA+MySQL的超市供销存管理系统源码-毕业设计...
java如何获得数据库表中各字段的字段名
毕业设计作品-基于java SSM+Mysql 的校园新闻系统源码.zip毕业设计作品-基于java SSM+Mysql 的校园新闻系统源码.zip毕业设计作品-基于java SSM+Mysql 的校园新闻系统源码.zip毕业设计作品-基于java SSM+Mysql 的校园...
基于JavaSwing和Mysql开发的KTV点歌系统(大一课设).zip基于JavaSwing和Mysql开发的KTV点歌系统(大一课设).zip基于JavaSwing和Mysql开发的KTV点歌系统(大一课设).zip基于JavaSwing和Mysql开发的KTV点歌系统(大一课设)...
基于微信小程序开发的图书馆预约系统(后端java+mysql).zip 前台小程序 后台服务端java mysql数据库 前台小程序 公告查看 图书馆自习室查看 自习室预约 留言板 我的信用分(预约没有按时退出房间,需要扣分,管理...
管理员也需要对科室信息进行增加、删除、修改,科室信息包括科室编号、科室名称、备注; (3)病人首先需要注册,注册需要提交病人姓名、登录密码、性别、联系电话、家庭住址、身份证号码,病人编号自动生成;病人...
Java大作业_基于SSM+mybats+Mysql实现学生信息的增删改查源码+数据库.7z 实现学生信息的增删改查 实现学生信息的增删改查 spring+spring mvc+mybats+Mysql实现 【备注】 主要针对计算机相关专业的正在做毕设的学生和...
Java基于ssm+mysql的信息类课程教学知识管理系统的实现.zip ssm信息类课程教学知识管理系统开发 采用 ssm框架技术,java语言,mysql数据库 前台+后台的模式开发 前台界面:W1 后台界面:CC 内容页面:P4 前台:...
基于JavaDruid+MySQL实现一个订餐管理系统源码+项目说明.7z 该订餐管理系统是一个基于JavaDruid、MySQL、MySQL数据库连接池、JDBC等技术的食堂后台订餐管理系统,主要用来解决学校食堂拥挤、人员密集、等待时间长,...