import java.net.URL;
import java.sql.*;
import java.util.*;
class JdbcOdbc_test
{
ResultSet results;//用来保存从数据库中检索得到数据行的集合.
ResultSetMetaData rsmd;//用来获得ResultSet中得到的信息.
DatabaseMetaData dma;//用来收藏底层数据源的信息.
Connection con;//创建和管理一个到数据库的连接.
int numCols,i;
public JdbcOdbc_test()
{
String url="jbdc:odbc:jia";
String query="select distinctrow name from jia"+"where(Name like c%);";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC的驱动程序
con=DriverManager.getConnection(url);//创建一个连接.
dma=con.getMetaData();//返回当前连接底层数据库的DataBaseMetaData对象.
System.out.println("Connected to:"+dma.getURL());//getURL获取数据库的表名.
System.out.println("Driver"+dma.getDriverName());//获取驱动程序的名字.
//将数据库中的表名转储出来.
String[] types=new String[1];
types[0]="TABLES";
//用results用来保存从数据库中检索得到数据香的信息.
results=dma.getTables(null,null,"%",types);
dumpResults("--jia--");//显示表名.
results.close();//关闭.
}
catch(Exception e)
{
System.out.println(e);
}
try
{
results=dma.getColumns(null,null,"name",null);//返回一个描述列中可用列的ResultSet.
ResultSetMetaData rsmd=results.getMetaData();//返回ResultSetMetaData的对象.
int numCols=rsmd.getColumnCount();//返回ResultSet中的列数.
while(result.next())//将指针移到下一行.如果没有返加false.
String cname=results.getString("COLUMN_NAME");//以java的String 数据类型返回整数索引参
//数所标识的resultset的值.
System.out.println(cname+" ");
System.out.println();
results.close();
}
catch(Exception e)
{
Statement smt=con.createStatement();
result=stmt.executeQuery("select name form jia;");
}
System.out.println("--Column Names--");//输出列名.
try
{
Statement stmt=con.createStatement();
results=stmt.executeQuery("select name from jia;");//执行一个SQL select语句,返回一个单个的ResultSet对象.
}
catch(Exception e)
{
System.out.println("queery excetion");
}
try
{
Statement stmt=con.createStatement();
results=stmt.executeQuery(query);//执行一个SQL select语句,返回一个单个的ResultSet对象.
}
catch(Exception e)
{
System.out.println("query exception");
dumpResults("--Results of Query--");
}
}
}
String cname=results.getString("COLUMN_NAME");这是一个错误,
dumpResults("--jia--");//显示表名.这里也有一个错误.
我建一个数据库,一个表名为jia 数据源名也为jia.里面有三个变量.name,sex,age.
不知为什么老错呀.