谁可以说一下Class.forName("")………

ruoruo 2002-04-09 11:45:42
在看一个实现记录集的滚动程序时,有这样一段:try{
Class.forName("myDriver.Class");
}catch(java.lang.ClassNotFoundException e){
System.err.println("Classnotfoundexception:");
System.err.println(e.getmessage()); }
}
其中Class.forName("myDriver.Class");这句话其后的参数是什么含义,它是一个数据库资源,还是什么?另外这个方法主要是用来实现什么功能的?
哪位大侠能说一下,谢谢!

...全文
27 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
welcomegtm 2002-04-15
应该是驱动程序名吧!
回复
baorenlong 2002-04-14
类C1ass的实例主要用来表示当前运行的Java应用程序中类或接口的信息。
当各类被调入时,由Java虚拟机自动构造C1ass对象


forName
Public static C1assforName(String className)throws ClassnotFoundException

根据字符串className所提供的类名返回相应的Class对象。
例如,使用下面这段程序就可以返回类java.1ang.Thread的类描述符:
C1asst=C1ass.forName(“java.1ang.Thread”)
参数:
className——提供的类全名
返回值:
根据提供的类全名返回的类描述符。

例外处理:
当没有找到类className时,就抛出例外C1assNotFoundExcePtion。


另外所有的jdbc方法都在java.sql包中定义,java.sql里面的方法都可以用,应为所有的数据库驱动都实现了这个包中的接口,所以里面的方法都可以用
回复
qlqllu 2002-04-13
我也不喜欢用桥的
回复
Jeff 2002-04-12
SQL Server 有jdbc驱动的,能不用jdbc-odbc桥尽量不用
回复
jimjxr 2002-04-11
这个类不在java包里面,应该是数据库厂商做好的。加载是你告诉JDBC有那些驱动可以使用的方法,是必须的。
回复
可乐加水 2002-04-11
myDriver.Class当然一般的时候都不用自己写了,你想用的那个类!
回复
hotenM 2002-04-11

String DBDriver = "oracle.jdbc.driver.OracleDriver";
Class.forName(DBDriver);

如果加载oracle驱动,这样,明白了吗?
回复
ruoruo 2002-04-11
回楼上,你那样写也可以,不过这样是不是更好一些?
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"
Class.forName(sDBDriver);
不知你认为呢?
回复
wjfxiao 2002-04-11
如果时SQLSERVER,你应该写为:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
回复
ruoruo 2002-04-11
可是我只是自己学着JSP,那我应该怎么办啊,我机子上是sqlsever,
像hotenM(java一菜鸟) 说的,我都是这样写:
String url="jdbc:odbc:fengjie";
Class.forName("?");
那我后面加载驱动的时候?处应该写什么呢?
fengjie是我在odbc数据源里面的数据库。谢谢大家。
回复
ruoruo 2002-04-10
myDriver.Class这个类是java包里面的,还是我自己写的?一定要加载吗?我看很多实例里面开头都有这么一段。
回复
可乐加水 2002-04-09
Class.forName("myDriver.Class");是用来查找myDriver.Class类的,这个方法就是用来查找一个指定的类,参数就是指定的类!一般的时候都是用这个方法来查找数据库驱动程序的!
回复
jimjxr 2002-04-09
用类加载器加载myDriver.Class这个类
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告