import java.sql.*; 
public class test 

Connection conn = null; 
Statement stmt = null; 
ResultSet rs = null; 
String driver ="com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
String url ="jdbc:microsoft.sqlserver://localhost:1433;DatabaseName=Restaurant"; 
String user ="user"; 
String pwd ="user"; 
String sql ="select name,password from operator"; public void doTest() { 
try{ 
Class.forName(driver); 
System.out.println("加载驱动成功!"); 
conn = DriverManager.getConnection(url,user,pwd); 
System.out.println("连接数据库成功!"); 
stmt = conn.createStatement(); 
rs = stmt.executeQuery(sql); 
System.out.println("------记录-------"); 
while(rs.next()) 

System.out.println("姓 名: "+rs.getString("name")); 
System.out.println("密 码: "+rs.getString("password")); 

}catch(Exception e){ 
e.printStackTrace(); 

} public static void main(String [] args) 

new test().doTest(); 

} 编译时报错:C:\java\test.java:17: 不兼容的类型
找到: java.sql.Connection
需要: Connection
Connection conn = DriverManager.getConnection(url,user,pwd); 
                                             ^
C:\java\test.java:19: createStatement() 可以在 Connection 中访问 private
stmt = conn.createStatement(); 
           ^
.\Connection.java:12: 不兼容的类型
找到: java.sql.Connection
需要: Connection
    con = DriverManager.getConnection(url);
                                     ^
3 错误该怎么办呢?

解决方案 »

  1.   

    C:\Documents and Settings\Administrator\桌面>javac test.javaC:\Documents and Settings\Administrator\桌面>
    我编译没得错,看看是不是你的classpath里是不是有问题.
      

  2.   

    如果还是不行,就把
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null; 
    改成
    java.sql.Connection conn = null;
    java.sql.Statement stmt = null;
    java.sql.ResultSet rs = null; 
    看看
      

  3.   

    错误提示的这句con = DriverManager.getConnection(url);你程序里根本没有啊,是这个程序的错误提示么?而且也没有看出什么错来啊,把你的dotest方法变成静态的试试。
      

  4.   

    代码没有问题安装个eclipse就会减少很多这种错误的产生
      

  5.   

    回1楼2楼:
    现在编译可以通过,但是运行的时候却是这样的:---------- 运行 ----------
    加载驱动成功!
    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(DriverManager.java:545)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at test.doTest(test.java:18)
    at test.main(test.java:35)输出完成 (耗时: 0 秒) - 正常终止是什么原因呢?回3楼:conn = DriverManager.getConnection(url,user,pwd); 这句是有的
    回4楼:我用的是EditPlus+jdk
      

  6.   

    java.sql.SQLException: No suitable driver
    ==============================================
    驱动不合适,不知道你用什么db,2000还是2005?2000记得打补丁,还有2000有2000的驱动,2005有2005的驱动,可别弄混了,去微软的官网去载一个吧
      

  7.   

    如果是初学还是找个集成环境学吧,
    不然普通的错都要查上半天!
    等成了高手之后再用文本编辑器之类的写~~
    不然的话时间都花在找错上面,其实,
    很有可能这些错就是一些低级错误,如少标点符号拉、找不到类拉、拼写错误拉等等~~~
    找这样的错误都是在浪费时间!
    ==============================================================
    这样说就错了,越是初学越应该用文本编译器,自己设置classpath,我想这也是做java的一半,或者说前提,如果都用Eclipse给你标红,你永远高手不了,向你说得拼写错误,少标点,找不到类这些编译错误更应该用文本编译器,提高check能力,除非是作项目,自己学的话建议用文本编译器.只是探讨一下,不是抬杠,息怒
      

  8.   

    用的是sql2000。Microsoft SQL Server 2000 Driver for JDBC也安装了,那三个.jar文件的路径也写进classpath中了...sql2000升级到sp4了....我快疯了。...
      

  9.   

    晕,我头都晕了。原来这句
    String url ="jdbc:microsoft.sqlserver://localhost:1433;DatabaseName=Restaurant"; 
    中的microsoft.sqlserver之间的冒号写成了一点。感谢楼上的几位的热心解答!
    再次感谢!
      

  10.   

    这样说就错了,越是初学越应该用文本编译器,自己设置classpath,我想这也是做java的一半,或者说前提,如果都用Eclipse给你标红,你永远高手不了,向你说得拼写错误,少标点,找不到类这些编译错误更应该用文本编译器,提高check能力,除非是作项目,自己学的话建议用文本编译器.只是探讨一下,不是抬杠,息怒=====================================================呵呵,你的说法也没错,只不过我们从不同的角度考虑的,
    我是从实用角度来说的,而你是从学习的角度来说的~~
    诚然,你在实用过程中你的boss决不容许你花大量时间去找一些低级错误的~
    因为项目是要进度的,所以时间尤为重要~
    如果你已经在工作,我想这点你不可能不明白的。