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里面,为什么会出这么个错误呢,还请大家指教,谢谢了。

解决方案 »

  1.   

    把驱动包放在你项目的lib文件夹里面试试
      

  2.   

    jar是只能放在lib目录下,lib目录下是不可以在创建目录的
      

  3.   

    也试过了,Referenced Libraries里面都放了,还是不行,程序没一个错误, 一运行就给我整这一出
      

  4.   

    没有啊,JAVA核心技术中就是这样教我做的啊。可以放到EXT文件夹下的。
      

  5.   

    兄弟,在我这运行你的程序没有问题的啊,结果出来了的,也没有出现你所说的问题!!我的jdbc驱动包不是放在jre里面的,要自己导入一个jdbc的jar包,从build path那里进去添加,方法:在工程名点右键》选择build path》configure build path》选择上面的“library”按钮,再在右边选择“Add library”》再选择“User library”》选择右边的“User library”按钮》点击右边的“new”按钮》在弹出的输入框中输入自定义名称,可以随意写,我的是写jdbc(方便下去再次使用),确定》确定后选中刚刚写的自定义名称,点击右边的“add jar”按钮,找到自己的jdbc驱动包就OK了!
      

  6.   


    可以通过6楼的建议将sqljdbc4.jar加进系统中,在getBBC()函数中加一条Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 再试试
      

  7.   

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

  8.   

    我感觉你的这个应该是jar导的有问题吧!!
      

  9.   

    1.最新的JDBC驱动包确实不用加这条,JAR包里面已经自动加载了。可以去JAR包里面看
    2.没出来的原因是我先添加了这个驱动JAR包,然后我删除了,移动了这个驱动包,再重新添加到PATH里面,NND,两个路径有一个没用的,系统不认识了。好了,结帖。