坛主,我按你说的去做,安装JDBC2.0 (i-net SPRINTA(tm) 2000 JDBC 2.0 Driver ---》com.inet.tds 。。

  • 主题发起人 主题发起人 kevinfu
  • 开始时间 开始时间
K

kevinfu

Unregistered / Unconfirmed
GUEST, unregistred user!
坛主,我按你说的去做,安装JDBC2.0 (i-net SPRINTA(tm) 2000 JDBC 2.0 Driver ---》com.inet.tds 。。。。。(50分)<br />安装,JDBC2.0 (i-net SPRINTA(tm) 2000 JDBC 2.0 Driver ---》com.inet.tds
我在c:/jdk1.3/lib 下建了你所说的目录,(也就是考贝过去)。
在classpath中加入了c:/jdk1.3/lib. 有SET命令可以看到。
CLASSPATH=C:/PROGRA~1/BORLAND/VBROKER/lib/vbcpp.jar;C:/jdk1.3/lib/tools.jar;c:/j
dk1.3/lib 说明我的classpath 已加上去了。
但是我用JAVAC 编辑一个BEAN时有如下错误。
C:/jswdk-1.0.1/webpages/WEB-INF/jsp/beans/webdatas>javac jdbcsql.java
jdbcsql.java:12: 未报告的异常 java.lang.InstantiationException ;必须被捕获或被声
?髋壮?
Class.forName("com.inet.tds.TdsDriver").newInstance();
^
1 个错误
C:/jswdk-1.0.1/webpages/WEB-INF/jsp/beans/webdatas>
===============================================
这是不是com.inet.tds.TdsDriver 没有找到?
jdbcsql.java beans 的内容发下,(从网上找到的。)
===============================================
package test;
import java.sql.*;
// JDBC package
class jdbcsql {
String url = "jdbc:inetdae:dhdou?sql7=true"; // use your hostname and port number here
String login = "sa"; // use your login here
String password =""; // use your password here
ResultSet rs = null;
public jdbcsql(){
try {
Class.forName("com.inet.tds.TdsDriver").newInstance();
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("jdbcsql(): " + e.getMessage());
}
}
//select a database
//create a statement
//execute a query

public ResultSet executeQuery(String sql) {
rs=null;
try {
DriverManager.setLoginTimeout(10);
Connection connection = DriverManager.getConnection(url,login,password);
connection.setCatalog("register");
Statement st = connection.createStatement();
rs = st.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("jdbcsql.executeQuery: " + ex.getMessage());
}
return rs;
}
}
怎么解决???
 
把 catch(java.lang.ClassNotFoundException e) 改成 catch(Exception e) 试试看.
 
谢谢YYSUN,OK了,能告诉我为什么吗?有没有中文的JSP 函数,命令的电子书介绍?。
 
kevinfu:报歉,昨天没有来大富翁,今天上来才看见你的问题。下面谈谈我的看法,
也请yysun指正。
在Java中,forName和newInstance两个方法的声明如下:
public static Class forName(String className) throws ClassNotFoundException
public Object newInstance() throws InstantiationException,IllegalAccessException
注意:两个方法的抛出的Exception是不同的。所以你程序中的这一行
Class.forName("com.inet.tds.TdsDriver").newInstance();
接下来的catch中应该捕获的Exception是三个,而不是一个ClassNotFoundException,
所以在编译是会出错,提示应捕获InstantiationException。而Exception是所有其它
Exception如ClassNotFoundException、的父类,根据类型相容原理,
放在此处,可以代表ClassNotFoundException、InstantiationException和llegalAccessException ,
所以可以编译通过。
又,如果你将原来这几句:
try {Class.forName("com.inet.tds.TdsDriver").newInstance();
//改这一句
}
catch(java.lang.ClassNotFoundException e) {//不改这一句
System.err.println("jdbcsql(): " + e.getMessage());
}
改为
try {Class.forName("com.inet.tds.TdsDriver");;
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("jdbcsql(): " + e.getMessage());
}
也可以成功。
至于没有中文的JSP 函数,命令的电子书,我有一本台湾人写的,不知知道你有没有
,如果需要我可以email给你。
 
那么多的 Exception 类型我也记不住,所以一般用老祖宗 Exception e 来对付了事.
 
坛主,我试过了,可以。谢谢你的指点。
你说的" 台湾人写的JSP书" 是不是JSPbook.pdf.
如果是它的话,就不有Email给我了,因为我已经有了。
再次感谢两位,以后还有很多问题要请教你们。
 
多人接受答案了。
 
kevinfu:我的" 台湾人写的JSP书" 的确是JSPbook.pdf,让你失望了。
这本书真是流传得太广了:)。可惜没什么俺们大陆人写的:(
Dr Sun:什么时候抽空写一本?。
 
后退
顶部