客戶端:
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;
}