import java.sql.*; 
import java.net.*;public class sqltry
{
public static void executeUpdateStatement(Connection con) 
     {  try 
   {
      String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
      String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
      Statement stmt = con.createStatement();
      int count = stmt.executeUpdate(SQL2);
                        //关了Statement
              stmt.close();
                        
  System.out.println("use test datebase "+"ROWS AFFECTED: " + count);
                       //再建一Statement,下边的ResultSet用这个得到
              Statement st = con.createStatement();
  ResultSet rs = st.executeQuery(SQL);
    while(rs.next())
     {
     System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
                             //关闭后来建的Statement
      st.close();
      rs.close();    
   }
   catch (Exception e)
    {e.printStackTrace();}
}
  public static void main (String[] args) 
{
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=test;"; 
String userName = "lysander";
String userPwd = "";
Connection dbconn=null;
try

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
dbconn=DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); 


catch (Exception e)
 { e.printStackTrace(); }
sqltry.executeUpdateStatement(dbconn);

}
    //public sqltry() 
    //{
    
    //}}
经过高人指点,基本都没有什么语法错误了,但是,没有预想的结果
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:141)
    at sqltry.main(sqltry.java:42)
java.lang.NullPointerException
    at sqltry.executeUpdateStatement(sqltry.java:13)
    at sqltry.main(sqltry.java:49)Process completed.
输出返回的是这个东西,我到底哪里有问题了,请高人指点以下,谢谢咯

解决方案 »

  1.   

    java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
    classpath中要加入SqlServer的驱动
      

  2.   

    你要把jdbc的3个包加进去,还有Sql要打补丁.
    你到这里去下个补丁(sql2ksp4)http://www.itmhu.cn/soft/8/80/2007/200702132586.html
    记住解压了要安装才可以.
      

  3.   

    我用的是sql 2005不是2k.我下了一个jdbc也按照帮助里的东西解压好了,是哪三个文件啊,不能不能具体一点啊
      

  4.   

    安装驱动程序(我在安装过程中,没有让我选择安装路径,默认安装在了 C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC)
    配置环境 在claspath中增加(和jdk配置累路径是一样的,就是为了让系统找到这个驱动类)
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
    可能你的安装目录不在c盘,但是这三个文件一定要配,如果你用的是Eclipse就可以在Eclipse中直接把这三个jar文件导进去;
      

  5.   

    import java.sql.*; 
    import java.net.*;public class sqltry
    {
    public static void executeUpdateStatement(Connection con) 
         {  try 
       {
          String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
          String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
          Statement stmt = con.createStatement();
          int count = stmt.executeUpdate(SQL2);
                            //关了Statement
                  stmt.close();
                            
      System.out.println("use test datebase "+"ROWS AFFECTED: " + count);
                           //再建一Statement,下边的ResultSet用这个得到
                  Statement st = con.createStatement();
      ResultSet rs = st.executeQuery(SQL);
        while(rs.next())
         {
         System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
    }
                                 //关闭后来建的Statement
          st.close();
          rs.close();    
       }
       catch (Exception e)
        {e.printStackTrace();}
    }
      public static void main (String[] args) 
    {
    String sDBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; 
    String userName = "lysander";
    String userPwd = "";
    Connection dbconn=null;

    try

    Class.forName(sDBDriver);
    dbconn=DriverManager.getConnection(dbURL, userName, userPwd);
    System.out.println("Connection Successful!"); 


    catch (Exception e)
     { e.printStackTrace(); }
    sqltry.executeUpdateStatement(dbconn);

    }
        //public sqltry() 
        //{
        
        //}}
    java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:532)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at sqltry.main(sqltry.java:44)
    java.lang.NullPointerException
        at sqltry.executeUpdateStatement(sqltry.java:13)
        at sqltry.main(sqltry.java:50)Process completed.
    我用的2005,和2000的驱动不一样的,上面是我把哪个sqljdbc.jar文件复制到\j2sdk1.4.2_14\jre\lib\ext里稍微该了一下代码的结果,但是,还是不行,网络上的教程我大多数都是2000的
      

  6.   

    at sqltry.executeUpdateStatement(sqltry.java:13)   //Statement stmt = con.createStatement();
        at sqltry.main(sqltry.java:50)//sqltry.executeUpdateStatement(dbconn);------------------------------------------------------------------------
    你这2句不对,我想可能是Connection没有得到,你把你的这句String userName = "lysander";改成"sa"试下.你可能根本没有连到数据库,用户名对吗?
      

  7.   

    看你用的是哪个版本的MSSQL,到网上找相应的驱动包加进去就OK了
      

  8.   

    恩 没有驱动  Class.forName("oracle.jdbc.driver.OracleDriver");
      

  9.   

    能不能具体点啊,怎么看mssql的版本啊?用户名应该都没有问题的