java wed 工程 连接 sql server 2000 出现的问题
package com.jsp.register;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBRegister {
private Connection conn = null;
private PreparedStatement stmt = null;
private ResultSet rs = null;
public DBRegister() {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");// 加载数据库
conn = DriverManager
.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=students_manage_system?user=sa&password=&useUnicode=true&characterEncoding=UTF-8");
} catch (Exception e) {
System.out.print("sfddsafd");
}
}
public void register(String cno, String cname) throws SQLException {
stmt = conn
.prepareStatement("insert into course(cno,cname) values (?,?)");
stmt.setString(1, cno);
stmt.setString(2, cname);
stmt.execute();
}
}
main方法中
DBRegister d=new DBRegister();
d.register("123", "语文");
为什么会提示怎样的 错误
sfddsafdException in thread "main" java.lang.NullPointerException
at com.jsp.register.DBRegister.register(DBRegister.java:29)
at com.jsp.register.Test.main(Test.java:13)
急啊,在线等大虾 谢谢了
追问:我不是在主函数中创建了一个实例吗,conn是在创建DBRegister d=new DBRegister();就实例化吗?conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=students_manage_system","sa","apple");
你说的是这样吗 如果是这样 还是一样的提示错误,不过我已经解决了 谢谢你的热情帮助,分给你了
答案:错误出现在这里了,register方法中,conn还没有实例化就去调用prepareStatement方法了,所以出现了空指针异常,应该先生成conn对象才可以,具体怎么改不用我说了吧。
上一个:我买了java web开发实战宝典,但找不到mysql communnity servers5.0,谁能帮我,还有
下一个:JAVA。求JAVA培训学校。