下面是一段数据库查询的代码但不知道错在什么位置,文件:login.jsp<%@page contentType="text/html"%>
<%@page pageEncoding="GB2312"%>
<%@page import = "java.sql.*" %>
<%
     String name = new String
             (request.getParameter("user_name"));
     String port = new String
             (request.getParameter("user_port"));
     String sql;
     sql="select name,camtype,mac,ip,port from ddns where name='"+name+"' and port='"+port+"'";
     
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     String url;
     url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=emicam";
     Connection con = DriverManager.getConnection(url,"sa","cam888");  Statement smt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     ResultSet rs = smt.executeQuery(sql);
     while(rs.next()){
     
     var top=window.parent.topFrame.document.form1;
 top.cam_host.value=rs.getString("name");
 top.cam_mac.value=rs.getString("mac");
 top.cam_type.value=rs.getString("camtype");
 top.cam_port.value=rs.getString("port");  con.close();
     response.sendRedirect("video.htm");
%>请各位大虾帮帮忙,谢谢了

解决方案 »

  1.   

    我晕给个异常堆栈撒
    String name = new String(request.getParameter("user_name"));
    String port = new String(request.getParameter("user_port"));request.getParameter本来就返回一个String ,你还new哪门子啊,浪费内存资源
      

  2.   

    var top=window.parent.topFrame.document.form1;
    top.cam_host.value=rs.getString("name");
    top.cam_mac.value=rs.getString("mac");
    top.cam_type.value=rs.getString("camtype");
    top.cam_port.value=rs.getString("port");这段是js代码,你混到<%%>中干吗
      

  3.   

    while(rs.next()){
    %>
    <script>
    var top=window.parent.topFrame.document.form1;
    top.cam_host.value='<%=rs.getString("name")%>' ;
    top.cam_mac.value='<%=rs.getString("mac")%>';
    top.cam_type.value='<%=rs.getString("camtype")%>';
    top.cam_port.value='<%=rs.getString("port")%>';
    </script>
    <%
    }
      

  4.   

    我用删除的办法测试了下 Connection con = DriverManager.getConnection(url,"sa","cam888");
    这条语句通过不了
      

  5.   

    页面上加一个try catch,把异常打印到页面上,看看到底什么错
    估计又是Error establish socket,你的sqlserver打sp3补丁没有??
      

  6.   

    这是我现在的代码可是却不会跳转也面
    <%@page contentType="text/html"%>
    <%@page pageEncoding="GB2312"%>
    <%@page import = "java.sql.*" %>
    <%
         String name = request.getParameter("user_name");
         String port = request.getParameter("user_port");
         String sql;
         sql="select name,camtype,mac,ip,port from ddns where name='"+name+"' and port='"+port+"'";
         
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         String url;
         url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=emicam";
         try
         {
     Connection con = DriverManager.getConnection(url,"sa","cam888");

     Statement smt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     ResultSet rs = smt.executeQuery(sql);
     while(rs.next()){
    %>
     <script>
     var top=window.parent.topFrame.document.form1;
     top.cam_host.value='<%=rs.getString("name")%>' ;
     top.cam_mac.value='<%=rs.getString("mac")%>';
     top.cam_type.value='<%=rs.getString("camtype")%>';
     top.cam_port.value='<%=rs.getString("port")%>';
     </script>
    <%
     }
     con.close();
     }
     catch()
     {
    response.sendRedirect("video.htm");  }
         response.sendRedirect("video.htm");
    %>
      

  7.   

    catch(Exception e)
    {
    out.print(e.toString());}
    response.sendRedirect("video.htm");
    %>试试
      

  8.   

    java.sql.SQLException: No suitable driver 这错误要怎么解决
      

  9.   

    可是我的SQL SERVER 已经升级到SP3啦com.microsoft.sqlserver.jdbc.SQLServerDriver这驱动程序路径没错吧jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=emicam这也没错吧
    那怎么样可以解决呢?
      

  10.   

    sqlserver升级没错关键是你的jar包是否更新了,jdbc的驱动包
      

  11.   

    是的我其他的JSP程序也可以运行就是这个过不去不知道为什么
      

  12.   

    直接把这个驱动com.microsoft.sqlserver.jdbc.SQLServerDriver
    换成sun的那个,下面的在改一下。看看如何?
      

  13.   

    对数据库进行的操作应该都放在try{}中
    try{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         String url;
         url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=emicam";
         Connection con = DriverManager.getConnection(url,"sa","cam888"); Statement smt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
         ResultSet rs = smt.executeQuery(sql);
         while(rs.next()){
         
         var top=window.parent.topFrame.document.form1;
     top.cam_host.value=rs.getString("name");
     top.cam_mac.value=rs.getString("mac");
     top.cam_type.value=rs.getString("camtype");
     top.cam_port.value=rs.getString("port"); con.close();
         response.sendRedirect("video.htm");
    }catch(Exception e){
    e.printStackTrace();
    }
      

  14.   

    String url;
    url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=emicam";
    是不是url写错了哈
    url="jdbc:microsoft:sqlserver://localhost:1433/emicam";还是其他之类的?
      

  15.   

    sdxlh007(海)
    你写的这是什么啊,js 和 java代码 写一起