/**
 * @param table_name表名
 * @return 某个表中的行数
 * @throws Exception
 */
public int countObject(String table_name)
throws Exception{
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
int count = 0;
try{
conn = JdbcUtil.getConnection();
conn.setAutoCommit(false);
String sql = "select count(*) from ?";
pstm = conn.prepareStatement(sql);
pstm.set?(1,table_name);
rs = pstm.executeQuery();
if(rs.next()){
count = rs.getInt(1);
}
conn.commit();
}catch(Exception e){
conn.rollback();
throw e;
}finally{
JdbcUtil.close(rs, pstm, conn);
}
return count;
}我的问题,
1,pstm.set什么可以行的通?我试过,setString,setObject,setNString都不可以!()
2,setString,setObject,setNString的区别!
问题3,
 <a href="/middleEmp/backpage">上一页</a> <a href="/middleEmp/nextpage">下一页</a> 我想把分页中上一页和下一页的内容抽取出来,写在一个servlet中,但是怎样表示它们呢?href中有没有什么属性可以来标记?或者有别的方法也行!(因为我在servlet中需要用if来判断用户点的是上页还是下页!)各位大侠,能回答一个就回答一个,回答正确的都有分啊!急~~

解决方案 »

  1.   

    因为你set的是表名,不是字段名
      

  2.   

    1、
    String sql = "select count(*) from "+table_name;   
    2、不是很明白后面的两个,set就是给数据库字段赋相应类型的值。setString一般就是对varchar2之类的字段赋值。
    3、在href里面加一个查询字符串middleEmp/backpage?clicktype=previous middleEmp/nextpage?clicktype=next
    在servlet里使用request获得这个clicktype的值就可以判断点的是哪一个了。
      

  3.   

    <a href="/middleEmp/fenyeServlet?pageNo=pageNo-1">上一页</a> <a href="/middleEmp/fenyeServle?pageNo=pageNo+1">下一页</a> 
    分页应该在servlet里做控制,把要显示的页码pageNo传给servelt,再由servlet得到这个pageNo参数,再做控制。
      

  4.   

    1,pstm.set什么可以行的通?我试过,setString,setObject,setNString都不可以!() 
    pstm.setString是设置表中字段的标识,对表好像不管用!
    2,setString,setObject,setNString的区别! 
    可以查看PreparedStatement 的api看看上面是怎么说的void setString(int parameterIndex,
                   String x)
                   throws SQLException将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的大小)。 void setNString(int parameterIndex,
                    String value)
                    throws SQLException将指定参数设置为给定 String 对象。在将此对象发送给数据库时,驱动程序将它转换成一个 SQL NCHAR、NVARCHAR 或 LONGNVARCHAR 值(取决于该参数相对于驱动程序在 NVARCHAR 值上的限制的大小)。 void setObject(int parameterIndex,
                   Object x)
                   throws SQLException使用给定对象设置指定参数的值。第二个参数必须是 Object 类型;所以,应该对内置类型使用 java.lang 的等效对象。 JDBC 规范指定了一个从 Java Object 类型到 SQL 类型的标准映射关系。在发送到数据库之前,给定参数将被转换为相应 SQL 类型。3.<a href="/middleEmp/backpage">上一页</a> <a href="/middleEmp/nextpage">下一页</a> 
    可以在你的href中加个参数,用来标识当前的页数!