天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 4904|回复: 27

脚本,怎么直接得数据库里的数据,(没有表单名)

[复制链接]
yiyihuazi 发表于 2012-2-20 11:54:59 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-2-21 17:47 编辑


文本框中,我要得到数据中的数据,
注意:var dql1 = "$formname  = 'Fm_JYTypeEdit1'";
var subdocs1 = queryByDQL(dql1);
不是用这个用表单的得到的,直接用数据表名得到。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
suyisene 发表于 2012-2-20 13:35:41 | 显示全部楼层
您好,如果是直接从数据库取得数据的话,你可以参考一下用这个脚本方法:
queryByDSName(dsName,sql)
dsName是数据源,sql是你的select语句。
 楼主| yiyihuazi 发表于 2012-2-20 14:40:15 | 显示全部楼层
这个写对了吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| yiyihuazi 发表于 2012-2-20 14:40:58 | 显示全部楼层
怎么得不到数据
suyisene 发表于 2012-2-20 15:52:11 | 显示全部楼层
您好,有报错么?有报错的话,请你将错误发上帖子看看
同时也给你一个例子看看,是下拉框获取另外一个数据库的数据的例子:
下面是下拉列表框“选项脚本”中的语句:
var opts=createOptions( );
opts.add("","");
var sql = "select fodcmp,fdeschs from cmp where fdisable = '1' order by fodcmp";
var datas = queryByDSName("rlzyoracle",sql);
if(datas != null)
{
   for(var iter = datas.iterator( );iter.hasNext( );)
   {
        var doc = iter.next( );
        var dwmc = doc.get("fdeschs");
        var dwbm = doc.get("fodcmp");
        opts.add(dwmc,dwbm);
   }
}
opts;

说明如下:
1、“rlzyoracle”是在系统中建立的ORACLE数据源,系统正常情况下不与该数据源建立连接,而是与MySql数据源建立连接。
2、在创建的OPTS对象中虽然通过循环语句保存了两个字段内容DWMC---单位名称;DWBM---单位编码,但在下拉列表中显示的是第一个字段的内容DWMC,并未显示第二个字段的内容DWBM,在OPTS.ADD()语句内的参数可调换位置,显示单位编码。
3、SELECT语句中没有选择表中的所有列进行查询显示,仅选择了两列,请在测试时先选择两列进行,以后逐步扩展
 楼主| yiyihuazi 发表于 2012-2-20 17:13:52 | 显示全部楼层
本帖最后由 yiyihuazi 于 2012-2-20 17:15 编辑

var opts=createOptions( );
opts.add("","");
var sql = "select  id,name  from  T_DEPARTMENT";
var datas = queryByDSName("obpm",sql);
if(datas != null)
{
   for(var iter = datas.iterator( );iter.hasNext( );)
   {
        var doc = iter.next( );
        var dwmc = doc.get("id");
        var dwbm = doc.get("name");
        opts.add(dwmc,dwbm);
   }
}
opts;

这样好像没有错啊,为什么不出数据也不报错哦
suyisene 发表于 2012-2-20 18:37:20 | 显示全部楼层
您好,你的那个obpm数据源是另外新建的数据源么?
 楼主| yiyihuazi 发表于 2012-2-21 09:03:26 | 显示全部楼层
不太清你说的新数据源是什么意思,我是按说明书上MYSQL改成连MSSQL了啊。那表单都是自动生成的啊
suyisene 发表于 2012-2-21 09:06:32 | 显示全部楼层
新建数据源的意思就是这样子:如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
kimi 发表于 2012-2-21 09:11:42 | 显示全部楼层
var sql = "select  id,name  from  T_DEPARTMENT";
var datas = queryByDSName("obpm",sql);
楼主首先您要搞清楚什么情况下才用这种方式去查询数据,这个是表示跨数据库时,意思就是说,您现在T_DEPARTMENT表是在oracle数据库中,而您现在平台的数据源是mysql数据库,那如果您要查询oracle中的T_DEPARTMENT表的数据,就需要使用这种模式啊。 而这里的obpm就是连接oracle的数据源。是您在当前软件下的高级工具下面的数据源中配置的。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 21:15

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表