数据库操作
数据库操作
EAS中对数据库操作,可以使用KSQL语法,参见KSQL规范
某些特殊情况下,KSQL语句无法满足复杂的命令,此时可以考虑使用方言SQL来执行。方言SQL是指不经过KSQL翻译层而直接在目标数据库上执行的SQL,SQL中使用【/*dialect*/】来表示一个SQL是方言SQL。
服务端
普通sql执行
1.查询
a.非参数化
IRowSet rs = com.kingdee.eas.util.app.DbUtil.executeQuery(ctx, sql);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
返回值:IRowSet — 结果集ResultSet
b.非参数化分页
IRowSet rs = com.kingdee.eas.util.app.DbUtil.executeQuery(ctx, sql, start, rows);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
start — 开始行数,第一行为0
rows — 查询结果集最大行数
返回值:IRowSet — 结果集ResultSet
c.参数化
IRowSet rs = com.kingdee.eas.util.app.DbUtil.executeQuery(ctx, sql, params);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
params — SQL参数Object[]
返回值:IRowSet — 结果集ResultSet
2.新增/更新/删除
a.非参数化
com.kingdee.eas.util.app.DbUtil.execute(ctx, sql);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
返回值:无
b.参数化
com.kingdee.eas.util.app.DbUtil.execute(ctx, sql, params);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
params — SQL参数Object[]
返回值:无
c.参数化批量
com.kingdee.eas.util.app.DbUtil.executeBatch(ctx, sql, paramsList);
参数值:ctx — 上下文,用于获取数据库连接
sql — SQL语句
paramsList — SQL参数集合,List<Object[]>类型
返回值:无
3.创建临时表
获取临时表池实例
pool = com.kingdee.bos.db.TempTablePool.getInstance(Context ctx);
参数值:ctx — 上下文,用于获取数据库连接
返回值:临时表池实例
创建临时表
pool.createTempTable(String createSQL, String oldTableName, String oldConstraint);
参数值:createSQL — 建表SQL语句
oldTableName — createSQL中创建的表名,实际建表SQL会替换成新的表名并返回 oldConstraint — createSQL中约束名,实际建表SQL会替换成新的约束名
返回值:临时表名称(实际在数据库创建的表名,必须使用返回的表名来操作临时表)
临时表释放
临时表使用结束后,要将临时表资源归还临时表池
pool.releaseTable(String tableName);
客户端
1.获取查询分析器Facade接口
fmisqlFacade = com.kingdee.eas.fm.common.FMIsqlFacadeFactory.getRemoteInstance();
2.查询
IRowSet rs = fmisqlFacade .executeQuery(sql,params);
参数值:sql — SQL语句
params — SQL参数Object[]
返回值:IRowSet — 结果集ResultSet
3.新增/更新/删除
fmisqlFacade .executeSql(sql,params);
参数值:sql — SQL语句
params — SQL参数Object[]
返回值:无
数据库操作
本文2024-09-22 20:03:16发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-111157.html