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

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

代码写的位置

[复制链接]
xuexi 发表于 2012-1-31 22:07:38 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-2-8 20:40 编辑

在用queryByDSName读取外部数据库的时候如果取得不同数据类型
本帖最后由 shary 于 2011-7-22 09:00 编辑

var sql = "select * from user where name='test'";
var datas = queryByDSName("getdb",sql);
if(datas!=null){
   for(var iterator = datas.iterator();iterator.hasNext();){
        
            var doc = getCurrentDocument();
      
       var map1 = iterator.next();
       var name= map1.get("contact_name");        
       var telephone= map1.get("contact_tel");
            var address= map1.get("place_desc");
           var create_time=map1.get("create_time");
            doc.findItem("lan_user").setValue(name);
      doc.findItem("user_telephone").setValue(telephone);
            doc.findItem("user_address").setValue(address);
           doc.findItem("accept_time").setValue(accept_time);
     }
}

以上的代码为读取一个外部的数据库的。取出的时间格式,只有日期,时间都是0,例如 2011-7-5 00:00。请问如何取得数据库中的时间,整型等类型的数据。

请问以上这段代码应该写在表单的什么位置?
kimi 发表于 2012-2-1 09:00:29 | 显示全部楼层
var name= map1.getItemValueAsString("contact_name");  这个是获取字符串类型嘛
var create_time=map1.getItemValueAsDate("create_time");这个是获取日期类型啊
var count=map1.getItemValueAsInt("count");这是获取整型类型
至于代码写在哪个位置,这得根据您自己的业务需求啊
 楼主| xuexi 发表于 2012-2-1 09:39:25 | 显示全部楼层

比如我想在这个表(新建)中供应商编号(supplyid)字段中获取另一个表LB_Supply(已存大量数据)字段SupplyID的值,可否这样写:
var sql = "select SupplyID from LB_Supply";
var datas = queryByDSName("rl",sql);
if(datas!=null){
   for(var iterator = datas.iterator();iterator.hasNext();){
        
            var doc = getCurrentDocument();
      
       var map1 = iterator.next();
       var supplyid= map1.get("SupplyID");        
     doc.findItem("SupplyID").setValue(supplyid);
               }
}

本帖子中包含更多资源

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

x
kimi 发表于 2012-2-1 09:47:06 | 显示全部楼层
那您可以在表单字段的值脚本中如下写:
var sql = "select * from LB_Supply";
var datas = queryByDSName("rl",sql);
var values="";
if(datas!=null){
   for(var iterator = datas.iterator();iterator.hasNext();){
     
           // var doc = getCurrentDocument();
      
       var map1 = iterator.next();
       var supplyid= map1.getItemValueAsString("SupplyID");        
     //doc.findItem("SupplyID").setValue(supplyid);
       values=supplyid;
               }
}
values;
还有提醒您一下,获取数据库字段值是用getItemValueAsString("字段名") ,不是用get()
 楼主| xuexi 发表于 2012-2-1 09:48:33 | 显示全部楼层
好的,谢谢,我试试
kimi 发表于 2012-2-1 09:57:15 | 显示全部楼层
嗯好的,有问题我们再沟通!
 楼主| xuexi 发表于 2012-2-1 09:59:42 | 显示全部楼层

出现这样的错误,麻烦看看?

本帖子中包含更多资源

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

x
irene 发表于 2012-2-1 10:05:10 | 显示全部楼层
您可以将您写代码贴出来看看吗?
 楼主| xuexi 发表于 2012-2-1 10:09:27 | 显示全部楼层
var sql = "select * from LB_Supply";
var datas = queryByDSName("rl",sql);
var values="";
if(datas!=null){
   for(var iterator = datas.iterator();iterator.hasNext();){
     var map1 = iterator.next();
       var supplyid= map1.getItemValueAsString("SupplyID");        
        values=supplyid;
     }
}
values;
kimi 发表于 2012-2-1 11:28:56 | 显示全部楼层
楼主不好意思之前误导您了,真对不起!
您可以把代码改成如下:
var sql = "select * from LB_Supply";
var datas = queryByDSName("rl",sql);
var values="";
if(datas!=null){
   for(var iterator = datas.iterator();iterator.hasNext();){
     var map1 = iterator.next();
       var supplyid= map1.get("item_SupplyID");        
        values=supplyid;
     }
}
values;
是用get()方法,只是里面的字段要加上item。我刚刚也测试了下,我这边是可以的,没有问题。如果您有问题我们再沟通!

本版积分规则

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

GMT+8, 2026-8-12 20:24

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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