各位请帮助小弟解答心中的疑惑!
RecordSet.execute("select aa from AABB where id = 111 and bz=0 "); 
while(RecordSet.next())
  {
     mingcheng=RecordSet.getString("aa");
  }
RecordSet.execute("update AABB set bz=1 where aa=" + mingcheng + " and bz=0");
为什么循环几次段最后得到的mingcheng怎么值都是一样的呢?怎么能让取出的值不一样呢?
在线等待!

解决方案 »

  1.   

    你這樣取得mingcheng值,永遠是RecordSet的最後一條紀錄對應的aa字段的值阿
      

  2.   

    补充一下,id=111的在数据库中有两条数据!
    ========================================
    这两条记录的bz 是否都是0?
      

  3.   

    恩,初始的时候都是零,我本来想updata把bz=1
    然后再select的时候就应该查的是下条数据了,可是不行。
      

  4.   

    不把网页关了再开,mingcheng永远都是最后一个aa的值!请问怎么能重新select呢?
      

  5.   

    RecordSet.execute("select aa from AABB where id = 111 and bz=0 "); //取到2条记录
    while(RecordSet.next())//循环两次
      {
         mingcheng=RecordSet.getString("aa");//后一次值覆盖前面的
      }
    //现在mingcheng的值是第二条记录的值//更改第2条记录的BZ值
    RecordSet.execute("update AABB set bz=1 where aa=" + mingcheng + " and bz=0");
      

  6.   

    对啊,这些都是我写的,我的意思是想查到aa的另一个值,可是aa总是最后一个值。
    我怎么能取到另一个值呢?
      

  7.   

    mingcheng=RecordSet.getString("aa");
    我在下面加了个
    alert("<%=mingcheng%>");
    可是却弹出了两个11和两个22。
    aa在数据库里的两条是11和22。
      

  8.   

    while(RecordSet.next())//循环两次
      {
         mingcheng=RecordSet.getString("aa");
         System.out.println(mingcheng);//可以显示每一个值
         
      }
      

  9.   

    谢谢大家了,问题解决了。
    是我循环加多了,其实这段代码外面我套了个循环,我一开始是有几条相同的数据我就循环几次,所以就出现了两个11和两个22,刚才cocoysy(遗忘艾泽拉斯) 提醒我了,我把循环去掉了,他就自动循环了,有几条有循环几条。谢谢大家!