请czb(草中宝)回答一下,还是连接数据库的问题

wypostbox 2001-10-17 05:26:59
import java.sql.*;

public class ListClasses
{ public static void main (String[] args)
{ int i, NoOfColumns;
String ClassName,ClassLocation, ClassSchedule;

//Initialize and load the JDBC-ODBC driver.
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

//Make the connection object.
Connection Ex1Con = DriverManager.getConnection("jdbc:odbc:StudentDB;uid=admin;pw=sa");

//Create a simple Statement object.
Statement Ex1Stmt = Ex1Con.createStatement();

//Make a SQL string, pass it to the DBMS, and execute the SQL statement.
ResultSet Ex1rs = Ex1Stmt.executeQuery( "SELECT ClassName, Location,DaysAndTimes FROM Classes");

//Process each row until there are no more rows.
// And display the results on the console.
System.out.println("Class Location Schedule");
while (Ex1rs.next())
{
// Get the column values into Java variables
ClassName = Ex1rs.getString(1);
ClassLocation = Ex1rs.getString(2);
ClassSchedule = Ex1rs.getString(3);
System.out.println(ClassName + ClassLocation + ClassSchedule);
}
}
}

我用的是JDK1.2,CLASSPATH和PATH都已设置好,但有两个错误,内容为:
F:\Study\Java\JDBC\ListClasses.java:9: Exception java.lang.ClassNotFoundException must be caught, or it must be declared in the throws clause of this method.
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
^
F:\Study\Java\JDBC\ListClasses.java:12: Exception java.sql.SQLException must be caught, or it must be declared in the throws clause of this method.
Connection Ex1Con = DriverManager.getConnection("jdbc:odbc:StudentDB;uid=admin;pw=sa");
^
2 errors
Process completed with exit code 1
请多多指教,谢谢.
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
czb 2001-10-17
  • 打赏
  • 举报
回复
1。把Ex1Con等变量放在try块外边定义
2。涉及数据库操作的地方都要捕获SQLException,ResultSet Ex1rs = Ex1Stmt.executeQuery("SELECT ClassName, Location,DaysAndTimes FROM Classes");当然也要捕获了。
wypostbox 2001-10-17
  • 打赏
  • 举报
回复
又出现新错误了。
F:\Study\Java\JDBC\ListClasses.java:25: Undefined variable or class name: Ex1Con
Statement Ex1Stmt = Ex1Con.createStatement();
^
F:\Study\Java\JDBC\ListClasses.java:29: Exception java.sql.SQLException must be caught, or it must be declared in the throws clause of this method.
ResultSet Ex1rs = Ex1Stmt.executeQuery("SELECT ClassName, Location,DaysAndTimes FROM Classes");
^
2 errors
Process completed with exit code 1

是不是又没有捕获什么东西?
为什么涉及数据库操作的地方都要捕获SQLException?
如果涉及数据库操作的地方都需要捕获SQLException,那不是很麻烦吗?有没有什么比较好的处理方式?
谢谢。
czb 2001-10-17
  • 打赏
  • 举报
回复
不客气,互相学习拉
wypostbox 2001-10-17
  • 打赏
  • 举报
回复
多谢指教。至于直呼你的名字,是因为看到你回答的一些问题,正是我需要的,我是个新手,说不定还要向你请教呢。呵呵……,再次感谢。
czb 2001-10-17
  • 打赏
  • 举报
回复
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
换为
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException cnfe){System.out.println("errorcn:"+cnfe);}
涉及数据库操作的地方都要捕获SQLException.例如把
Connection Ex1Con = DriverManager.getConnection("jdbc:odbc:StudentDB;uid=admin;pw=sa");
改为
try
{Connection Ex1Con = DriverManager.getConnection("
jdbc:odbc:StudentDB;uid=admin;pw=sa");
}catch(SQLException sqle){System.out.println("error:"+sqle);}

另外还请你在外面不要大呼小叫我的名字拉,其实我也挺菜的,CSDN上面比我厉害的人太多拉。

23,407

社区成员

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

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