javabean连接sqlserver2000 myeclipse下编程!!!

mayi 2011-11-28 12:27:11

我的这个javabean是在其他程序里写的
那个程序可以很好的连接数据库
但是copy到这个程序里后就不能连接数据库了 搞不懂啊
什么都没变 。。。。。求教!!!




下面是我的javabean代码:

package DBC;

import java.sql.*;

public class DBBean {

private Connection conn=null;
private Statement st=null;
private PreparedStatement pst=null;
private ResultSet rt=null;

//获得连接
public Connection getConn() throws ClassNotFoundException, SQLException{
String url="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//加载驱动
Class.forName(url);

//获得连接
String drl="jdbc:sqlserver://localhost;databaseName=imgs;user=sa;password=123";
conn=DriverManager.getConnection(drl);

//返回连接
return conn;
}

//执行查询语句并返回结果

//滚动记录集
public ResultSet getResult(String sql) throws ClassNotFoundException, SQLException{

conn=new DBBean().getConn();


st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rt=st.executeQuery(sql);

return rt;

}
//只进记录集
public ResultSet getResult2(String sql) throws ClassNotFoundException, SQLException{

conn=new DBBean().getConn();

st=conn.createStatement();
rt=st.executeQuery(sql);

return rt;

}

//更新数据库
public void update(String sql) throws SQLException, ClassNotFoundException{
conn=getConn();
st=conn.createStatement();
st.executeUpdate(sql);
}
public void update(String sql,String[]args) throws SQLException, ClassNotFoundException{
conn=getConn();
pst=conn.prepareStatement(sql);
for(int i=0;i<args.length;i++){
pst.setString(i+1,args[i]);
}
pst.executeUpdate();
}

//关闭数据库连接
public void close(){

try {
if(rt!=null) rt.close();
if(st!=null) st.close();
if(pst!=null) pst.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}

}
}




这里是我的调用javabean的代码:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.io.InputStream"%>
<jsp:useBean id="db" class="DBC.DBBean"></jsp:useBean>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

</head>
<body>

<%
String sql="select pic from img2 where id=4";

ResultSet rs=db.getResult(sql);

while(rs.next()){
response.setContentType("image/jpeg");

ServletOutputStream sout=response.getOutputStream();

InputStream in=rs.getBinaryStream(1);

byte b[]=new byte[0x7a120];

for(int i=in.read(b);i!=-1;){
sout.write(b);
in.read(b);
}

sout.flush();
sout.close();
}
%>
</body>
</html>



我说明: 这个javabean在原来那个程序里 是用的好好的 我直接copy过来后,就不不能连接数据库了!!


下面是报错:


org.apache.jasper.JasperException: An exception occurred processing JSP page /Lookimg.jsp at line 32

29: <%
30: String sql="select pic from img2 where id=4";
31:
32: ResultSet rs=db.getResult(sql);
33:
34: while(rs.next()){
35: response.setContentType("image/jpeg");


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)




谁能很好的解释一下吗?? 小弟刚学不久。。。。不是很懂,也很不明白,明明就是一样的javabean了 怎么一个可用一个不能用呢!?????


...全文
108 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
半个鼠标 2011-11-28
  • 打赏
  • 举报
回复
//获得连接
String drl="jdbc:sqlserver://localhost;databaseName=imgs;user=sa;password=123";
conn=DriverManager.getConnection(drl);
你确定这样能获得连接
我记得是DriverManager.getConnection(drl,sa,123);这样获得连接!
五哥 2011-11-28
  • 打赏
  • 举报
回复
ResultSet rs=db.getResult(sql);

db 获取到数据库连接了么
chiyan_2011 2011-11-28
  • 打赏
  • 举报
回复
楼主好!我也是新手!你在连接的时候有没有设置数据源呢??那个连接的用户名和密码在sqlserver中在哪设置啊??
kouyiSC 2011-11-28
  • 打赏
  • 举报
回复
sql2000的话,,是那三个jar放到lib目录。。。
sql2005的jar包,好像是sqljdbc.jar。。。

结贴快乐。。。。
mayi 2011-11-28
  • 打赏
  • 举报
回复
感谢6楼大虾啊! 是我的 URL写错了!! 我改回来后就可以连接了 但是我很奇怪啊!! 这个javabean是直接copy过来的 在之前那个程序里虽然写反了也一样可以连接数据库 所以我没怀疑我会写错了url的,今天才发现 我真的写错了 还有我的驱动包是sql_jdbc4.jar 和sql_jdbc.jar 我应该在myeclipse下配置哪个呢 我的数据库时SQL2000 听说还有三个包是要放在tomcat的web目录下的是这三个吗? mssqlserver.jar msutil.jar msbase.jar 望懂的大虾们赐教 指点一下!! 不胜感激啊!
kouyiSC 2011-11-28
  • 打赏
  • 举报
回复
sql2000和2005的驱动包不一样。。。
kouyiSC 2011-11-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 c09034120207 的回复:]

端口号 我加上去了 而且之前那个程序也没端口号的 一样可以连接数据库 可以进行增删查改操作! 现在还是不行!!
[/Quote]

还有就是sql2000的driver字符串是:String url="com.microsoft.jdbc.sqlserver.SQLServerDriver";
sql2005的driver字符串是:String url="com.microsoft.sqlserver.jdbc.SQLServerDriver";
mayi 2011-11-28
  • 打赏
  • 举报
回复
端口号 我加上去了 而且之前那个程序也没端口号的 一样可以连接数据库 可以进行增删查改操作! 现在还是不行!!
kouyiSC 2011-11-28
  • 打赏
  • 举报
回复
少了端口号:
将url改为:
String drl="jdbc:sqlserver://localhost:1433;databaseName=imgs;user=sa;password=123";

81,090

社区成员

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

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