eas之執行sql的方式


客戶端:
    1. 有返回集合:查詢
     //查詢出DB中所有該字段的值,與其進行比較,若有相同的則報錯
      String sql="select CFWuliaoCode from CT_JC_TestWuliao";
      //sql執行者接口,sql執行者工廠對象,獲取遠程實例,sql語句
      ISQLExecutor isql=SQLExecutorFactory.getRemoteInstance(sql);
      IRowSet rest=isql.executeSQL();   //行集合接口   執行接口.執行方法
      while(rest.next()){ //這里可以用循環取數 或是if進行判斷是否為空
      String acode=rest.getString("CFWuliaoCode");
      if(acode.equals(b)){
        make=make+1;
      }}

    2. 無返回集合,返回影響行數:  刪除,更新
    String upsql="update T_IM_PurInWarehsBill set CFKDTextField='"+value+"' where FID='"+sourceid+"'";
            com.kingdee.eas.base.multiapprove.ISqlFacade isql=SqlFacadeFactory.getRemoteInstance();
            int i=isql.executeSql(upsql);
    服務端sql:
            String sql2="select * from CT_JC_TestWuliao";
            IRowSet rest=DbUtil.executeQuery(ctx, sql2);

 

在服務端執行一段帶參數的sql
如果需要在服務端ControllerBean執行更新或刪除的sql
private void executeSql(Context ctx,String strName,String id)throws BOSException,EASBizException{
    StringBuffer sql=new StringBuffer();
    List params=new ArrayList();
    sql.append("......");.....
    params.add(strName);
    params.add(new Timestamp(new Date().getTime()));
    com.kingdee.eas.util.app.DbUtil.execute(ctx,sql.toString(),params.toArray());
}

 

在服務端用帶參數的sql取得結果集
public Map getSqlData(Context ctx,Date curDate)throws BOSException{
    StringBuffer sql=new StringBuffer();
    Map mapData;
    List params=new ArrayList();
    sql.append("....").......
    params.add(new Timestamp(new Date().getTime()));
    IRowSet rs=DbUtil.executeQuery(ctx,sql.toString(),params.toArray());
    while(rs.next()){
        if(mapData==null){
            mapData=new HashMap();
        }
        mapData.put(rs.getString("FNumerb"),rs.getString("FName"));
    }
    return mapData;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM