class的路径有问题,你再检查下。
把驱动程序拷贝到Webapps\Your document\WEB-INF\lib下面。
你的程序和我以前一样,也是写的很菜,不规范,Bean对数据库操作应该使用异常,这个是改动了一点的,请你看看。
package sql;
import java.sql.*;public class sql
{
  private Connection con;
  //初始化连接
  public sql()
    {
    String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web";
    String USER="sa";
    String PWD="";//最好数据库用SQL SERVER用户登陆,而不是WINDOWS用户登陆,添加好密码。
    try
      {
      Class.forName(CLASSFORNAME);
        con=DriverManager.getConnection(SERVANDDB,USER,PWD);
      }
    catch(Exception e)
      {  
         e.printStackTrace();
      }
    }
       //查询数据库也应该使用try,catch,这部分也有可能产生异常,再改改,记得return result,自己改了。
    public sql(){}
public ResultSet quy(String find){
PreparedStatement stmt=
conn.prepareStatement
(find,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery();
}
}

解决方案 »

  1.   

    谢谢(轩云飞)老兄的指点。不过我现在特想解决的是我的程序不能运行的问题,至于规范问题,我从现在开始就注意一下
    我暂时还有在jsp里调用它,因为不能把它编译成.class文件。我这前面的一点点都没法通过。所以后面的也没有继续了。
      

  2.   

    你这段代码确实写的很糟糕,我刚把它拷到jbulder里下眼都花了,你的这些语句都没有扑捉异常,
    Class.forName(drv)这段你先把他写在方法里面然后扑捉ClassNotFoundException异常,另外还有SQLException.
    修改以后我这里编译通过了。
    具体的改动应该由你自己来,这样才能找到根本问题。
      

  3.   

    承蒙大家指点一二。我修改了代码,如下:package sql;import java.sql.*;
    public class sql{
    public Connection conn;
    public ResultSet rs;
    public Statement stmt;
    public sql(){
    try{
    String drv="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    Class.forName(drv);
    }
    catch (ClassNotFoundException e){
    System.out.println("Create Connection Error!"+e);
    }
    try{
    String USER="sa";
    String PWD="";
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web";
    conn = DriverManager.getConnection(url,USER,PWD);
    }catch(SQLException e){
    System.out.println(e);
    }
    }public ResultSet search(String sql){
    try{
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    }catch(Exception e){
    System.out.println("Database query error:" + e);
    }
    return rs;
    }public void close(){
    try{
    if(rs!=null)
    rs.close();
    if(stmt!=null)
    stmt.close();
    if(conn!=null)
    conn=null;
    }catch(SQLException e){
    System.out.println("Database close error."+e);
    }
    }public static void main(String[] args){
    sql dc=new sql();
    }}
    编译已通过。并将sql.class文件放在web-inf\classes\sql目录下。我在jsp文件中这样调用出错:<jsp:useBean id="srch" class="sql.sql" scope="application"/>
    <%
    ResultSet rs=srch.search("select * from login");
    srch.close();
    %>出错信息如下:javax.servlet.ServletException: sql.sql.search(Ljava/lang/String;)Ljava/sql/ResultSet;
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.sqlbean_jsp._jspService(sqlbean_jsp.java:74)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NoSuchMethodError: sql.sql.search(Ljava/lang/String;)Ljava/sql/ResultSet;
    org.apache.jsp.sqlbean_jsp._jspService(sqlbean_jsp.java:63)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  4.   

    public ResultSet search(String sql){
    try{
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    }catch(Exception e){
    System.out.println("Database query error:" + e);
    }
    return rs;
    }把这里的sql改个名字 跟类名相同了
      

  5.   

    请问上面这种连接数据库方法还要不要在数据源添加系统DSN呀!
      

  6.   

    晕,没加入  java.sql.*包
      在JSP文件里加上:<%@ page import="java.sql.*"%>
      

  7.   

    TMD
    我也在为这个事头痛。
     一下
      

  8.   

    希望楼主或者那位高手公布最终bean代码以及调用的jsp文件!
    再问一个很菜的问题:关于记录的操作包括增删改代码是否都可以写成bean的格式调用?
      

  9.   

    还是用楼主的BEAN
      <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <jsp:useBean id="srch" class="sql.sql" scope="application"/>
    <%
    try{
        ResultSet rs=srch.search("select * from login");
        while(rs.next()){
           out.print(rs.getString(1));
        }
        srch.close();
    }catch(Exception e){
        out.println("与数据库连接不成功");
    }
    %>
      

  10.   

    多谢大家帮忙,我总算是调试成功了。现将代码贴上。万望高手指点不足,以及不规范的地方。新手能够到一点点启示。jsp文件:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    <jsp:useBean id="tt" class="sql.sql" scope="application"/>
    <%
    ResultSet rs=tt.search("select * from login");
    if(rs==null){
    System.out.println("resultset is null.");}
    else{
    String str1=null;
    String str2=null;
    String str3=null;
    while(rs.next()){
    str1=rs.getString(1);
    str2=rs.getString(2);
    str3=rs.getString(3);
    out.println(str1+"        ");
    out.println(str2+"        ");
    out.println(str3+"<br>");
    }
    }
    %>
    </body>
    </html>
    sql.java:
    package sql;import java.sql.*;public class sql{
    public Connection conn;
    public ResultSet rs;
    public Statement stmt;
    public sql(){
    try{
    String drv="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    Class.forName(drv);
    }
    catch (ClassNotFoundException e){
    System.out.println("Create Connection Error!"+e);
    }
    try{
    String USER="sa";
    String PWD="";
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web";
    conn = DriverManager.getConnection(url,USER,PWD);
    }catch(SQLException e){
    System.out.println(e);
    }
    }public ResultSet search(String sql){
    try{
    if(conn==null){
    System.out.println("cannot connect to db.");
    }
    else
    {
    stmt = conn.createStatement
    (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    rs = stmt.executeQuery(sql);
    }
    }catch(Exception e){
    System.out.println("Database query error:" + e);
    }
    return rs;
    }public void close(){
    try{
    if(rs!=null)
    rs.close();
    if(stmt!=null)
    stmt.close();
    if(conn!=null)
    conn=null;
    }catch(SQLException e){
    System.out.println("Database close error."+e);
    }
    }}
    期盼大侠指点一二。
      

  11.   

    过上几天再结贴。接分的说分,接代码的说代码。up 的 说up吧 。期待留言。
      

  12.   

    关于代码的:
    那位贴一个分页代码,建议:
    1.数据库连接和分页都用bean,而且分开
    2.展示调用的jsp文件
    3.调试好的!
    请那位专家显显身手了?
      

  13.   

    to lawdoor(【风语者】):      不是吧。老兄,这么贪心。
      

  14.   

    to lawdoor(【风语者】:   我冒昧问一句兄台,请原谅一下。
      
       我不知道兄台是干什么的。是没有思路,不知道怎么下手,还是不想做,甚至于不懂,也不想明白。  请原谅……
      

  15.   

    请教:sql数据库的驱动(3个jar)是那几个文件呀?
    那有下载!我用的是iis+resin来运行jsp,请问这个驱动应该放到那里?
      

  16.   

    msbase.jar
    mssqlserver.jar
    msutil.jar
      

  17.   

    power17兄,千万不要见怪!
    我只是初学者,只是想学习学习高手的思路!也可以说是不懂吧!
    http://community.csdn.net/Expert/topic/3271/3271268.xml?temp=.5339014
    帖子已开,欢迎高手光临!
      

  18.   

    谢谢楼上,那要把他们放到哪里呀。载那下载呀,能给一个具体地址吗?
    请到
    http://community.csdn.net/Expert/topic/3271/3271306.xml?temp=2.676028E-02
    来接分吧
      

  19.   

    请问上面这种连接数据库方法还要不要在数据源添加系统DSN呀!
      

  20.   

    我是用JSP连接Oracle数据库的,也是用JSP调用一个JAVABEAN的。代码都没问题(在JSP里直接连接数据库是成功的),可是就连接不上啊。是不是需要拷贝什么驱动啊?我应该怎么办啊?请大家指点?拜托了!
      

  21.   

    我用的是Oracle8i和tomcat4.1,请大家帮忙啊
      

  22.   

    to  xiaowenand(与你有缘):
     
       不明白,怎么加?
      

  23.   

    to  xiaowenand(与你有缘):
    不需要加dsn!