JDBC连接数据库的问题

tianxiawuzei 2011-04-01 05:24:35
import java.io.IOException;
import java.sql.*;

public class JDBCDemo {

public static void main(String[] args) {
JDBCDemo demo = new JDBCDemo();
try {
demo.getBBC();
} catch(Exception e) {
e.printStackTrace();
}
}

private void getBBC() throws SQLException, IOException, Exception {
Statement stat = null;
Connection conn = null;
ResultSet set = null;
String sqlStr = "";
try {
sqlStr = "SELECT * FROM BBC";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Instant;"
+ "user=sa;password=hanxun";
conn = DriverManager.getConnection(url);
stat = conn.createStatement();
set = stat.executeQuery(sqlStr);
while (set.next()) {
System.out.println(set.getString("Name") + "-"
+ set.getString("Region") + "-" + set.getDouble("Area")
+ "-" + set.getDouble("BBCPopulation") + "-"
+ set.getDouble("Gdp"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
set.close();
stat.close();
conn.close();
}
}

}

上面是我的一个用JDBC连接SQL SERVER 2008的例子,运行的时候报出如下信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at yidu.nimblewind.test.JDBCDemo.main(JDBCDemo.java:8)
我就郁闷了,我用的是sqljdbc4.jar包,放到了jre\lib\ext里面,为什么会出这么个错误呢,还请大家指教,谢谢了。
...全文
94 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxiawuzei 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wula0010 的回复:]

引用 7 楼 jw_fk 的回复:
在getBBC()函数中加一条Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 再试试


+1,前两天有个帖子说没有这个照样可以联数据库,很怀疑...................
[/Quote]
1.最新的JDBC驱动包确实不用加这条,JAR包里面已经自动加载了。可以去JAR包里面看
2.没出来的原因是我先添加了这个驱动JAR包,然后我删除了,移动了这个驱动包,再重新添加到PATH里面,NND,两个路径有一个没用的,系统不认识了。好了,结帖。
jaygo311 2011-04-01
  • 打赏
  • 举报
回复
我感觉你的这个应该是jar导的有问题吧!!
icacwhc1 2011-04-01
  • 打赏
  • 举报
回复
引用 7 楼 jw_fk 的回复:
在getBBC()函数中加一条Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 再试试


+1
wula0010 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jw_fk 的回复:]
在getBBC()函数中加一条Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 再试试
[/Quote]

+1,前两天有个帖子说没有这个照样可以联数据库,很怀疑...................
jw_fk 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 love417483544 的回复:]
兄弟,在我这运行你的程序没有问题的啊,结果出来了的,也没有出现你所说的问题!!我的jdbc驱动包不是放在jre里面的,要自己导入一个jdbc的jar包,从build path那里进去添加,方法:在工程名点右键》选择build path》configure build path》选择上面的“library”按钮,再在右边选择“Add library”》再选择“User library”》选择右边的“……
[/Quote]

可以通过6楼的建议将sqljdbc4.jar加进系统中,

在getBBC()函数中加一条Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 再试试
love417483544 2011-04-01
  • 打赏
  • 举报
回复
兄弟,在我这运行你的程序没有问题的啊,结果出来了的,也没有出现你所说的问题!!我的jdbc驱动包不是放在jre里面的,要自己导入一个jdbc的jar包,从build path那里进去添加,方法:在工程名点右键》选择build path》configure build path》选择上面的“library”按钮,再在右边选择“Add library”》再选择“User library”》选择右边的“User library”按钮》点击右边的“new”按钮》在弹出的输入框中输入自定义名称,可以随意写,我的是写jdbc(方便下去再次使用),确定》确定后选中刚刚写的自定义名称,点击右边的“add jar”按钮,找到自己的jdbc驱动包就OK了!
hufeng2044 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gentleboy2009 的回复:]

把驱动包放在你项目的lib文件夹里面试试
[/Quote]
tianxiawuzei 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chenhaijing 的回复:]

jar是只能放在lib目录下,lib目录下是不可以在创建目录的
[/Quote]
没有啊,JAVA核心技术中就是这样教我做的啊。可以放到EXT文件夹下的。
tianxiawuzei 2011-04-01
  • 打赏
  • 举报
回复
也试过了,Referenced Libraries里面都放了,还是不行,程序没一个错误, 一运行就给我整这一出
Derek-Chen 2011-04-01
  • 打赏
  • 举报
回复
jar是只能放在lib目录下,lib目录下是不可以在创建目录的
gentleboy2009 2011-04-01
  • 打赏
  • 举报
回复
把驱动包放在你项目的lib文件夹里面试试

62,614

社区成员

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

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