这是我的原程序: /** * 通过这个程序,向读者展示比较完整的JDBC数据库操作的顺序, * 在这个例子中主要展示通过属性文件加载数据库驱动程序、表结构的创建与记录的插入。 */
import java.sql.SQLException; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; import java.sql.Date; import java.util.Properties; import java.io.FileInputStream; import java.io.IOException; import java.io.FileNotFoundException;
public class CreatTableTest { private Connection con; /*private String url;//数据库URL private String userName;//登录数据库用户名 private String password;//用户密码*/ public static void main(String[] args) { CreatTableTest test = new CreatTableTest(); //test.getProperty(); Connection con = test.getConnection(); test.createTable(con); test.getStudent(con); } /** * 在数据库studentmanager中创建一个表student,并向表中插入一条记录 */ public void createTable(Connection con) { try { Statement st = con.createStatement(); String sql = "CREATE TABLE student(姓名 varchar(12) NOT NULL," + "学号 varchar(10) NOT NULL," + "出生日期 datetime NOT NULL,专业 varchar(10) NULL," + "籍贯 varchar(30) NULL)"; System.out.println("输出的SQL语句是:"); System.out.println(sql); st.execute(sql); sql = "insert into student values('王成','20021022','1977-6-10', '英语','河北')"; st.executeUpdate(sql); st.close(); } catch(SQLException e) { e.printStackTrace(); } } /** * 从表中查询出所有记录 */ public void getStudent(Connection con) { try { Statement st = con.createStatement(); String sql = "select * from student"; ResultSet rs = st.executeQuery(sql); while(rs.next()) { String name =rs.getString("姓名"); String number = rs.getString("学号"); Date date = rs.getDate("出生日期"); String spe = rs.getString("专业"); String address = rs.getString("籍贯"); System.out.println( "\n姓名:" + name + "\t学号:" + number + "\t出生日期:" + date + "\t专业:" + spe + "\t籍贯:" + address ); } st.close(); con.close(); } catch(SQLException e) { e.printStackTrace(); } } /** * 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作 * 会把建立数据库的连接作为一个单独的方法。 */ public Connection getConnection() { String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=studentmanager"; String userName = "sa"; String password = "sa"; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection con = DriverManager.getConnection(URL,userName,password); } catch(SQLException e) { e.printStackTrace(); } catch(ClassNotFoundException ex) { ex.printStackTrace(); } return con; } } 下面是错误信息,小弟看不懂,请各位大哥帮忙! java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.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 CreatTableTest.getConnection(CreatTableTest.java:107) at CreatTableTest.main(CreatTableTest.java:28) Exception in thread "main" java.lang.NullPointerException at CreatTableTest.createTable(CreatTableTest.java:41) at CreatTableTest.main(CreatTableTest.java:29) 错误说明了什么?应该怎么解决?谢谢!