Connection对象始终为空,这是什么原因?跪求?

jackson171 2006-06-05 09:00:08
在bean中写以下代码
package com.fur.bean;

import java.sql.*;
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
import com.fur.dto.CustomerRegDto;

public class CustomerRegistBean {
private CustomerRegDto cusdto;

private Connection conn;

public CustomerRegistBean() {
String classforName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=FurInquire";
String user = "sa";
String pwd = "";
try {
Class.forName(classforName);
conn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e) {
e.printStackTrace();
}

}

public void setCustomerRegDto(CustomerRegDto cusdto) {
this.cusdto = cusdto;
}

public void customerRegist() throws Exception {
String sql = "insert into Customer values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, cusdto.getCustomerNm());
pstmt.setString(2, cusdto.getCustomerPs());
pstmt.setString(3, cusdto.getSex());
pstmt.setString(4, cusdto.getProblem());
pstmt.setString(5, cusdto.getAnswer());
pstmt.setString(6, cusdto.getCompanyNm());
pstmt.setString(7, cusdto.getRecharger());
pstmt.setString(8, cusdto.getAddress());
pstmt.setString(9, cusdto.getTelephone());
pstmt.setString(10, cusdto.getFax());
pstmt.setString(11, cusdto.getPostCD());
pstmt.setString(12, cusdto.getContactor());
pstmt.setString(13, cusdto.getEmail());
pstmt.setDate(14, new java.sql.Date(new java.util.Date()
.getTime()));
pstmt.setString(15, cusdto.getRequireInfo());
pstmt.executeUpdate();
}
catch (Exception e) {
e.printStackTrace();
throw e;
}

}
}
即conn为null 注:我已经导入jdbc驱动程序的包了,mssqlserver.jar,msbase.jar,msutil.jar,将它们放在%tomcat_home%相对目录下的common目录下的lib目录中了, 但是它总提示我import com.microsoft.jdbc.sqlserver.SQLServerDriver;从来没有使用过,我用的是eclipse开发,我也在eclipse中导入了以上三个包
...全文
396 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2006-06-05
  • 打赏
  • 举报
回复
import com.microsoft.jdbc.sqlserver.SQLServerDriver;?
把这个放到WEB-INF下吧
glok 2006-06-05
  • 打赏
  • 举报
回复
这是我写的,给你个参考吧



import java.sql.*;
import java.util.*;
public class DbBean
{
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=asdf";
public Connection sqlCon=null;
public Statement sqlStmt=null;
public DbBean()
{
try
{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
sqlCon=DriverManager.getConnection(url,"sa","");

sqlStmt=sqlCon.createStatement();
sqlCon.setAutoCommit(true);
}
catch(Exception e)
{
System.out.println("数据库错误");
}
}

记得结贴给分。
loveyt 2006-06-05
  • 打赏
  • 举报
回复
在conn = DriverManager.getConnection(url, user, pwd);下面加一句
System.out.println(conn.isClosed());看看结果是true还是false,如果没有输出,可能表示发生ClassNotFoundException错误了。
jackson171 2006-06-05
  • 打赏
  • 举报
回复
没好使
glok 2006-06-05
  • 打赏
  • 举报
回复
这样试试
public Connection conn=null;

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧