EAS BOS:客户端和服务端执行sql的方式

  • Post author:
  • Post category:其他


客户端:

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);

服务端:

在服务端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;

}



版权声明:本文为wimpykids原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。