没看出问题。你先select * from userinfo   ,你看能出数据吗?就知道数据库到底有没有连上了

解决方案 »

  1.   

    insert into userinfo(id,name,password) values(?,?,?);
      

  2.   

    回2楼,我换过了,还是老样子,会不会真是我什么地方没配置好? JDBC三个驱动包是不是放在tomcat\common\lib下的 mssqlserver.jar,msbase.jar,msutil.jar回1楼
    Statement stmt=conn.createStatement();
    ResultSet rst=stmt.executeQuery("select * from userinfo;");
    while(rst.next())
    {
    out.println("<tr>");
    out.println("<td>"+rst.getString("username")+"</td>");
    out.println("</tr>");
    }
    rst.close();
    stmt.close();
    conn.close();我用select调用表,结果页面上也没显示出来,也没报错,说明是根本没连上数据库?
      

  3.   

    其实你只要把一些小细节做好,这个错误很容易就可以出来的,你把你的异常捕获给改改,不要在整个程序代码中使用有限的try{}catch(ExceptionType ex){},试试。
      

  4.   

    驱动器放的路径问题,把驱动器放到你项目的WEB-INF\lib下试试,不用解压
      

  5.   

    pstmt.executeUpdate(); 
    看看行不!!
      

  6.   

    回6楼你指的捕获是怎样一种方式?是不是分段捕获?就是一段代码一段代码捕获来知道是哪一句或是哪一段有问题?谢谢告诉我怎么调? 是不是改成 e.getMessage()返回捕获信息?回 9楼,10楼我试过了还是不行
      

  7.   

    回11 楼环境变量,我设置成这样 CLASSPATH:  .:D:\Tomcat\common\lib\servlet-api.jar.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.D:\Tomcat\common\lib\msbase.jar;D:\Tomcat\common\lib\mssqlserver.jar;D:\Tomcat\common\lib\msutil.jar;C:\Program Files\Java\jdk1.6.0\binJAVA_HOME: C:\Program Files\Java\jdk1.6.0Path: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\Java\jdk1.6.0\bin;C:\Program Files\Microsoft SQL Server\80\Tools\Binn;C:\Program Files\Java\jdk1.6.0\binTomcat: D:\Tomcat
      

  8.   

    不错,是你所说的分段来捕获异常,例如:
    String conn_str="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jsp";
    String username="sa";
    String password="123";
    private Connection conn=null; 
    private PreparedStatement   pstmt=null; try{ 
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 

    catch(java.lang.ClassNotFoundException e) 

    System.err.println("dbclass():"+e.getMessage()); 

    try{ 
    conn=DriverManager.getConnection(conn_str,username,password); 

    catch(SQLException ex) { 
    System.err.println("dbclass():"+ex.getMessage()); 
    } try{ 
            String sql = "insert   into   userinfo   values(?,?,?)";
            pstmt=conn.prepareStatement(sql); 
            pstmt.setString(1,username); 
            pstmt.setString(2,pwd); 
            pstmt.setString(3,userphone); 
            pstmt.executeUpdate();} 
    catch(SQLException ex) { 
    System.err.println("update():"+ex.getMessage()); 
    } 另外,先将
    String   username=request.getParameter("username"); 
    String   pwd=request.getParameter("pwd"); 
    String   userphone=request.getParameter("userphone"); 
    的值打印出来。或者将 insert语句先在MS-SQL中运行一下,还有问题贴出来。
    PS:代码我没跑,小错误请自己改下,不好意思啦
      

  9.   

    1433是SQL2000的默认端口没有打补丁会报错