/**
* @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来判断用户点的是上页还是下页!)
各位大侠,能回答一个就回答一个,回答正确的都有分啊!急~~
6 个解决方案
#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的值就可以判断点的是哪一个了。
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
up!!
#4
路过,帮顶一下
#5
<a href="/middleEmp/fenyeServlet?pageNo=pageNo-1">上一页</a> <a href="/middleEmp/fenyeServle?pageNo=pageNo+1">下一页</a>
分页应该在servlet里做控制,把要显示的页码pageNo传给servelt,再由servlet得到这个pageNo参数,再做控制。
分页应该在servlet里做控制,把要显示的页码pageNo传给servelt,再由servlet得到这个pageNo参数,再做控制。
#6
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中加个参数,用来标识当前的页数!
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中加个参数,用来标识当前的页数!
#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的值就可以判断点的是哪一个了。
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
up!!
#4
路过,帮顶一下
#5
<a href="/middleEmp/fenyeServlet?pageNo=pageNo-1">上一页</a> <a href="/middleEmp/fenyeServle?pageNo=pageNo+1">下一页</a>
分页应该在servlet里做控制,把要显示的页码pageNo传给servelt,再由servlet得到这个pageNo参数,再做控制。
分页应该在servlet里做控制,把要显示的页码pageNo传给servelt,再由servlet得到这个pageNo参数,再做控制。
#6
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中加个参数,用来标识当前的页数!
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中加个参数,用来标识当前的页数!