视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
表的信息的获得---ResultSetMetaData
2020-11-09 08:12:52 责编:小采
文档

在这个演示程序中用到数据库是Access的,数据库中的表的名字是STUDENTINFO表,包含字段有 IDNO 文本型 长为8 NAME 文本型 长为8 SEX 文本型 长为6 AGE 数值型 长为8 BIRTHDT 文本型 长为8 程序中主要是操作这个表,选择的驱动是ODBC。程序如下: import java.

在这个演示程序中用到数据库是Access的,数据库中的表的名字是STUDENTINFO表,包含字段有

IDNO 文本型 长为8

NAME 文本型 长为8

SEX 文本型 长为6

AGE 数值型 长为8

BIRTHDT 文本型 长为8

程序中主要是操作这个表,选择的驱动是ODBC。程序如下:

import java.sql.*;

public class DBAccess {

public static java.sql.Connection conn = null;

private String sqlStr = "";

public DBAccess()

{

//new sun.jdbc.odbc.JdbcOdbcDriver();

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn = DriverManager.getConnection("jdbc:odbc:TestDB","admin","");

}

catch (ClassNotFoundException ex) {

System.out.println(ex.toString());

}

catch(SQLException sqlEx){

System.out.println(sqlEx.toString());

}

}

public ResultSet Search()

{

ResultSet rset = null;

sqlStr = "SELECT * FROM STUDENTINFO";

Statement smt = null;

try {

smt = conn.createStatement();

rset = smt.executeQuery(sqlStr);

}

catch (SQLException ex) {

System.out.println("Exception:"+ex.toString());

}

return rset;

}

public void getResultSetMetaData()

{

ResultSet rs = null;

try {

String[] tp = {"TABLE"};

rs = this.Search();

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();

}

}

public static void main(String args[])

{

DBAccess dbAccess = new DBAccess();

dbAccess.getResultSetMetaData();

}

}

通过上面例子中的方法能够获得,ResultSet中的表的信息,有两个方法的用法我也不甚清楚,所以没写,弄明白了再作补充。

下载本文
显示全文
专题