Heim > Datenbank > MySQL-Tutorial > 表的信息的获得---ResultSetMetaData

表的信息的获得---ResultSetMetaData

WBOY
Freigeben: 2016-06-07 15:11:32
Original
1230 Leute haben es durchsucht

在这个演示程序中用到数据库是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中的表的信息,有两个方法的用法我也不甚清楚,所以没写,弄明白了再作补充。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage