从书上抄的一个与jdbc-odbc桥接的例子

guhuan 2004-05-03 06:36:28
import java.sql.*;
import java.util.*;
import java.lang.*;

public class java_sql_useDBDriver
{
public static void main(String[] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Enumeration enum=DriverManager.getDrivers();
while(enum.hasMoreElements())
{
System.out.println(enum.nextElement());
}
}

catch(java.lang.Exception exec)
{
System.out.println("加载数据库异常");
}

try
{
String url="jdbc:odbc:mqis";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection(url);
Statement sql=cn.createStatement();
ResultSet rs=sql.executeQuery("select * from 教师信息");
for(int j=1;j<=rs.getMetaData().getColumnCount();j++)
{
System.out.print(rs.getMetaData().getColumnName(j)+"\t");
}
System.out.println();
while(rs.next())
{
for(int j=1;j<=rs.getMetaData().getColumnCount();j++)
{
System.out.print(rs.getObject(j)+"\t");
}
System.out.println();
}
sql.close();
cn.close();
}
catch (SQLException ex)
{
ex.printStatckTrace();
}
}
}
//出错提示===============================
java_sql_useDBDriver.java:27: unreported exception java.lang.ClassNotFoundExcept
ion; must be caught or declared to be thrown
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
^
1 error
...全文
43 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeking82 2004-05-04
  • 打赏
  • 举报
回复
还有一个错误就是第二个catch 里的 ex.printStackTrace(),你把它写成printStatckTrace(); 了我上面那个是从你那里复制过来的。刚才想起来了。哈哈。
yeking82 2004-05-04
  • 打赏
  • 举报
回复
第二个TRY的 catch (SQLException ex)
{
ex.printStatckTrace();
}
后再加一个CATCH如:catch(Exception e)
{


hui3zhihui 2004-05-04
  • 打赏
  • 举报
回复
第二个catch就不用改变了
guhuan 2004-05-04
  • 打赏
  • 举报
回复
执行完后,结果中有一行sun.jdbc.odbc.JdbcOdbcDriver@affc70,可不可以不让它出现呢,要是可以的话,应该怎么做呢
guhuan 2004-05-04
  • 打赏
  • 举报
回复
有了为什么为出错呢,能告诉我要是加上Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
这一句的话,我的第二个catch里怎么写呢
hui3zhihui 2004-05-04
  • 打赏
  • 举报
回复
第二个try里面就不要下面这一举了
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
guhuan 2004-05-04
  • 打赏
  • 举报
回复
不对啊,还是错,出错提示指的应该是第二个try里的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
我感觉是错在第二个catch,我删掉第二个catch里的语句时,会出来一大堆错误,说是很多语句没有被caught or declared to be thrown
guhuan 2004-05-04
  • 打赏
  • 举报
回复
谢谢楼上,他母亲的,书上写错了,现在的书真是越来越差了
hui3zhihui 2004-05-03
  • 打赏
  • 举报
回复
应该是java.lang.ClassNotFoundException exec
hui3zhihui 2004-05-03
  • 打赏
  • 举报
回复
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Enumeration enum=DriverManager.getDrivers();
while(enum.hasMoreElements())
{
System.out.println(enum.nextElement());
}
}

catch(java.lang.Exception exec)
{
System.out.println("加载数据库异常");
}
改成
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Enumeration enum=DriverManager.getDrivers();
while(enum.hasMoreElements())
{
System.out.println(enum.nextElement());
}
}

catch(java.lang.ClassNotFoundExcept exec)
{
System.out.println("加载数据库异常");
}

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧