private String Prefund;
public String execute()
{
List list=new ArrayList();
try{
String sql = "select bank_partial_refund_live from `bank` where bank_id =(select bank_id from transaction where transaction_id =)";
list=new DataOperation().selectData(sql);
}catch (Exception e) {
addActionError("123");
}
//------


//------
return SUCCESS;}
请问在//-- 处如何将list的值传入到Prefund里面。//------如何写??请教各位高手。谢谢。送上分。。

解决方案 »

  1.   

    list是什么?
    String sql = "select bank_partial_refund_live from `bank` where bank_id =(select bank_id from transaction where transaction_id =)"; 
    是SQL的子查询?
    list=new DataOperation().selectData(sql);  
    list中村的是什么呀?
      

  2.   

    我只明白了个大概.  你DataOperation类里面的selectData(String sql)这个方法返回是个List吧.?
    但是你这里的sql 你觉不觉得有问题? 
    String sql = "select bank_partial_refund_live from `bank` where bank_id =(select bank_id from transaction where transaction_id =)";
    先不看你的sql 就看里面这个子查询select bank_id from transaction where transaction_id =    这个会报错的喔.  
    你说要把List的值传到Prefund里面.?那我想必你这个查询结束以后返回的是个单值吧,要不然你也不会说吧List的值传到String里面去了. 你List里面存的是String吧.?
    那样的话好说阿.连循环都不用了
    首先你是要修改你的sql  然后执行出来了以后if(list!=null)
    {
        Prefund=(String)list.get(i);
    }
     
    ok了.   看你还有什么问题再发上来看吧  
      

  3.   

    谢谢。我sql后面有错误吗?怎么修改了?select bank_id from transaction where transaction_id =""这样吗?
    if(list!=null)
    {
        Prefund=(String)list.get(i);
    }get(i)是什么意思?这样就能传到Prefund里面吗?
      

  4.   

    1. List list=new ArrayList();    new出来是多余的,null就行了
    2. SQL文就随便你写对写错了,从list里面取一个数据,只需要  list.get(index) 然后强转该项对应的类型就行了 
      

  5.   

    建一个与表对应的类
    每条查询出来的记录是一个类对象
    list.add(对象)
      

  6.   

    问题说明不清楚,感觉楼主一脑袋浆糊。private String Prefund; //变量命名不规范,怎么首字母会是大写呢?public String execute() 
    {
    List list=new ArrayList(); //既然下面有list=了,为啥这里还要new?多余嘛!嫌内存太大,准备搞坏服务器?
    try{ 
    //这个SQL语句写得好神奇加神秘。完全看不懂。
    //bank_partial_refund_livep这个是一个字段?好长的字段名呀,不知道是哪个变态设计的?
    //如果不是一个字段,那不应该用下划线分隔吧?应该是用逗号吧?//`bank`是表名吧?为啥要打单引号?//transaction_id = 等号后面怎么就没东西了?是不是因为保密的原因,所以不写?
    String sql = "select bank_partial_refund_live from `bank` where bank_id =(select bank_id from transaction where transaction_id =)"; 
    list=new DataOperation().selectData(sql); //这里返回的应该是个List吧?那你的List里装的究竟是啥?String?int?你自定义的类?
    }catch (Exception e) { 
    addActionError("123"); 

    //------ 
    //总之,关于以上那么多的不清楚,所以,我也不可能清楚list里究竟装着啥,所以也就不会清楚应该怎么来把List里的东西赋值给Prefund//------ 
    return SUCCESS; //你用的是Struts 2 还是你自定义了一个常量SUCCESS?}