还有一个小问题,        str_s=" SELECT * "+
      "   from emp_info "+
      "  where empno='"+empno+"' ";
查询中,我怎么知道结果是不是空呢?

解决方案 »

  1.   

    第一个问题:form的action指定自己就可以了
    第二个:用ResultSet取到结果集后
    用ResultSet的next方法判断,next返回true,结果集里有数据,返回false则没有
      

  2.   

    还有一个小问题,        str_s=" SELECT * "+
          "   from emp_info "+
          "  where empno='"+empno+"' ";
    查询中,我怎么知道结果是不是空呢?
    java.sql.ResultSet rs=java.sql.Statement.executeQuery(str_s);
    if(rs.next())out.print("结果不为空");
    else out.print("结果为空");
      

  3.   

    to:fft123(专杀各类日本畜生) 
    我已经用action指定自己了,关键是怎么判断是不是第一次打开,我用传递的参数.equals("")判断不对,还有怎么加选择框
      

  4.   

    action指定自己后
    提交一个隐藏的属性
    用这个属性来判断加选择框的话,自己去查html语法吧,写法我记不清了,很久没做了
    (就是循环输出表单的时候在前面加上选择框)
    修改和删除对应的按钮或者链接的action指到不同的页面(不要再指到自己了)
    然后取这些选择框的值来判断修改或删除哪些页
    不过这样有问题,就是删除可以批量删除,但你修改就没办法了
      

  5.   

    to: fastrunner2003(hello
    你的方法会报错啊
    C:\bea\wlserver6.1\config\yusuan\applications\yusuanapp\WEB-INF\_tmp_war_myserver_myserver_yusuanapp\jsp_servlet\__insert.java:139: non-static method executeQuery(java.lang.String) cannot be referenced from a static context
                    java.sql.ResultSet rs=java.sql.Statement.executeQuery(str_s);   //[ /insert.jsp;
      

  6.   

    to: fft123(专杀各类日本畜生) 
    能不能、举个隐藏属性的例子?我没有用过。第一次打开的时候这个属性是null还是一个数字啊?
      

  7.   

    java.sql.ResultSet rs=stmt.executeQuery(str_s);
    //当然,前面得有Conncetion conn = ...;Statement stmt = conn.createStatement();
    if(rs.next())out.print("结果不为空");
    else out.print("结果为空");
      

  8.   

    <input type="hidden" name="name1" value="0">
    <form ... onsubmit="document.all.name1.value=1;">然后根据name1的值进行判断是否为第一次打开页面
      

  9.   

    <input type=hidden name=xxx value="0">
    每次进页面都用request.getParameter("xxx")来取xxx的值
    第一次取的肯定是null的
    提交后就有值了,是0,这样就是已经提交过的了
      

  10.   

    to:fastrunner2003(hello 
    我试了rs的值为weblogic.jdbc.rmi.SerialResultSet@2e983d,不为空啊,怎么办
      

  11.   

    to:zcjl(【to be forgotten..】), fft123(专杀各类日本畜生)
    你们的方法差不多,但是一个说第一次打开是0一个说第一次打开是null,怎么回事啊
      

  12.   

    两种方法是一样的啊
    在页面上写String xxx = request.getParameter("xxx");
    下面判断xxx的值,然后进行相应操作
    第一次进入这个页面的时候xxx为null
      

  13.   

    <%@ page contentType="text/html;charset=GBK" %>
    <%@ page import="java.sql.*" %><%
    //变量声明
    java.sql.Connection sqlCon; //数据库连接对象
    java.sql.Statement sqlStmt; //SQL语句对象
    java.sql.ResultSet sqlRst; //结果集对象
    java.lang.String strCon; //数据库连接字符串
    java.lang.String strSQL; //SQL语句
    int intPageSize; //一页显示的记录数
    int intRowCount; //记录总数
    int intPageCount; //总页数
    int intPage; //待显示页码
    java.lang.String strPage;
    int i;
    //设置一页显示的记录数
    intPageSize = 25;
    //取得待显示页码
    strPage = request.getParameter("page");
    if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
    intPage = 1;
    }
    else{//将字符串转换成整型
    intPage = java.lang.Integer.parseInt(strPage);
    if(intPage<1) intPage = 1;
    }
    //装载JDBC驱动程序
    //java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //设置数据库连接字符串
    //strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb";
    //连接数据库
    //sqlCon = java.sql.DriverManager.getConnection(strCon,"hzq","hzq");String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hat";
    String user = "sa";
    String password = "abc";
        sqlCon = DriverManager.getConnection(url,user,password);//创建一个可以滚动的只读的SQL语句对象
    sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
    //准备SQL语句
    strSQL = "select * from userinfo";
    //执行SQL语句并获取结果集
    sqlRst = sqlStmt.executeQuery(strSQL);
    //获取记录总数
    sqlRst.last();
    intRowCount = sqlRst.getRow();
    //记算总页数
    intPageCount = (intRowCount+intPageSize-1) / intPageSize;
    //调整待显示的页码
    if(intPage>intPageCount) intPage = intPageCount;
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
    </head>
    <script language="javascript">
    function check()
    {
    if(confirm("确定删除码?"))
    {
    document.form1.submit()
    }
    }
    </script>
    <body>
    [<a href="javascript:check()">删除选中项</a>]<form name="form1" action="getfy.jsp" method="post">
    <table border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td>选择</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>密码</td>
    <td>性别</td>
    <td>成绩</td>
    </tr>
    <%
    if(intPageCount>0){
    //将记录指针定位到待显示页的第一条记录上
    sqlRst.absolute((intPage-1) * intPageSize + 1);
    //显示数据
    i = 0;
    while(i<intPageSize && !sqlRst.isAfterLast()){
    %>
    <tr>
    <td><input type="checkbox" name="delid" value="<%=sqlRst.getString("userid")%>"></td>
    <td><a href="jsp_sg.jsp?id=<%=sqlRst.getString(1)%>" target=_blank><%=sqlRst.getString(1)%></a> </td>
    <td><a href="jsp_fy.jsp?id=<%=sqlRst.getString(1)%>" target=_blank><%=sqlRst.getString(2)%></a> </td>
    <td><%=sqlRst.getString(3)%> </td>
    <td><%=sqlRst.getString(4)%> </td>
    <td><%=sqlRst.getString(5)%> </td>
    </tr>
    <%
    sqlRst.next();
    i++;
    }
    }
    %>
    </table>
    </form>
    第<%=intPage%>页  共<%=intPageCount%>页 <a href="jspfy.jsp?page=1">首页</a>  <%if(intPage<intPageCount){%><a href="jspfy.jsp?page=<%=intPage+1%>">下一页</a><%}%>  <%if(intPage>1){%><a href="jspfy.jsp?page=<%=intPage-1%>">上一页</a><%}%>
    <a href="jspfy.jsp?page=<%=intPageCount%>">尾页</a></body></html><%
    //关闭结果集
    sqlRst.close();
    //关闭SQL语句对象
    sqlStmt.close();
    //关闭数据库
    sqlCon.close();
    %>