请问如何更新ResultSet的内容,回写道数据库?(600pts)

iProgram 2001-11-11 04:06:55
我用ResultSet rs=xxxx(得到了符合条件的N个rs),N已知.
现在我想把他们的abc字段(integer)加一,回写道数据库中,我该如何做呢?
还有,在ASP中可以这样选出age字段中最大的10个记录:
select top 10 * from tablename order by age desc
请问在bean中如何选出最小的10个记录?
select 这里写什么? 10 * from tablename order by age desc
要是选出最小的一个呢?


外加http://www.csdn.net/expert/topic/364/364985.shtm 300分没人要.
...全文
55 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
iProgram 2001-11-17
faint,发现Beans编译后必须重新启动服务器才可以,是不是?!!!
回复
iProgram 2001-11-16
为何无效?
Bean这样:
public class ADDB
{
Connection conn=null;
Statement stmt=null;
public ADDB()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:AD_DB");
stmt= conn.createStatement();
}
catch(java.lang.ClassNotFoundException e1)
{
System.err.println("ADDB():" + e1.getMessage());
}
catch(SQLException e2)
{
System.err.println("ADDB(): " + e2.getMessage());
}
}
public ResultSet GetOneRS()
{
ResultSet rs =null;
try
{
//得到show值最小的rs
rs = stmt.executeQuery("Select Top 1 id,text,show From ad Where type=0 Order by show ASC ");
/*想把选出的一个rs的show字段自增1,下面写法用那个都不管用,也不报错也不生效:(
id/show字段都是Access Long Integer,text是文本
/*写法一
stmt.executeUpdate("Update ad Set show=show+1 where id=" + rs.getString("id"));
*/
/*写法二
int show=rs.getInte("show")+1;
stmt.executeUpdate("Update ad Set show=" + Integer.toString(show) + " where id=" + rs.getString("id"));
*/
/*写法三干脆写成
stmt.executeUpdate("Update ad Set show=100");
都不管用
*/

}
catch(SQLException e)
{
System.err.println("GetOneBanner(): " + e.getMessage());
}
return rs;
}

应该怎样?
回复
iProgram 2001-11-11
谢谢,来不及试了,明天再说(今天是11、11日:)
PS.
2-用select top 10 * from tablenname order by age asc是不是也可以
回复
yun15291li 2001-11-11
我要我要。这两个问题我也想答。被木心抢先了。
回复
muxinpp 2001-11-11
1). update tablename set abc=abc+1 where 条件//前面得出rs的条件!

2). select * from tablenname order by age desc limit 10
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-11-11 04:06
社区公告
暂无公告