ResultSetMetaData是什么东西? 在mysql语句中,ResultSet是结果集,可ResultSetMetaData又是什么东西? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 表的信息的获得---ResultSetMetaData 在这个演示程序中用到数据库是Access的,数据库中的表的名字是STUDENTINFO表,包含字段有 IDNO文本型长为8 NAME文本型长为8 SEX文本型长为6 AGE数值型长为8 BIRTHDT文本型长为8 程序中主要是操作这个表,选择的驱动是ODBC。程序如下: importjava.sql.*; publicclassDBAccess{ publicstaticjava.sql.Connectionconn=null; privateStringsqlStr=""; publicDBAccess() { //newsun.jdbc.odbc.JdbcOdbcDriver(); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:TestDB","admin",""); } catch(ClassNotFoundExceptionex){ System.out.println(ex.toString()); } catch(SQLExceptionsqlEx){ System.out.println(sqlEx.toString()); } } publicResultSetSearch() { ResultSetrset=null; sqlStr="SELECT*FROMSTUDENTINFO"; Statementsmt=null; try{ smt=conn.createStatement(); rset=smt.executeQuery(sqlStr); } catch(SQLExceptionex){ System.out.println("Exception:" ex.toString()); } returnrset; } publicvoidgetResultSetMetaData() { ResultSetrs=null; try{ String[]tp={"TABLE"}; rs=this.Search(); ResultSetMetaDatarsmd=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)); 求帮忙解决一SQL查询语句问题,该问题可能比较复杂,谢谢大家。 MySQL指定INI注册服务,无法启动服务 delete的触发器要怎么写 求一多次查询的存储过程 RedHat AS 5 上链接mysql出现问题 MYSQL中怎样实现ORACLE中的(+)…… mysql4的sql文件导入到mysql3出错,why? 那里有pgAdmin II的下在阿,官方网站的那个不能下载了 100分急求!丢失myd和myi文件,急求方法! 怎么让数据库字段实现类似队列的功能. 请查询高手帮忙 急急急!!请问references sort(id) on delete cascade 产生了错误,要怎么解决?
在这个演示程序中用到数据库是Access的,数据库中的表的名字是STUDENTINFO表,包含字段有
IDNO文本型长为8
NAME文本型长为8
SEX文本型长为6
AGE数值型长为8
BIRTHDT文本型长为8
程序中主要是操作这个表,选择的驱动是ODBC。程序如下:
importjava.sql.*;
publicclassDBAccess{
publicstaticjava.sql.Connectionconn=null;
privateStringsqlStr="";
publicDBAccess()
{
//newsun.jdbc.odbc.JdbcOdbcDriver();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:TestDB","admin","");
}
catch(ClassNotFoundExceptionex){
System.out.println(ex.toString());
}
catch(SQLExceptionsqlEx){
System.out.println(sqlEx.toString());
}
}
publicResultSetSearch() {
ResultSetrset=null;
sqlStr="SELECT*FROMSTUDENTINFO";
Statementsmt=null;
try{
smt=conn.createStatement();
rset=smt.executeQuery(sqlStr);
}
catch(SQLExceptionex){
System.out.println("Exception:" ex.toString());
}
returnrset;
}
publicvoidgetResultSetMetaData()
{
ResultSetrs=null;
try{
String[]tp={"TABLE"};
rs=this.Search();
ResultSetMetaDatarsmd=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));