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

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

[已解决] insertByDSName不能插入记录 ?

[复制链接]
上海怡蓝 发表于 2012-7-23 15:05:49 | 显示全部楼层 |阅读模式
本帖最后由 irene 于 2012-7-24 11:30 编辑

根据 iScript 文档 :

注:数据源操作对象应用需要,软件->高级工具->数据源的支持。首先需要开发者在软件的数据源模块创建数据源。
示例:
实现insertByDSName(dsName,sql)函数的应用
var doc = getCurrentDocument();
var sql = "insert into cityinfo(cityid,cityname,rootid) ";
sql +=" values(‘"+doc.getItemValue("citycode")+"’,’ ";
sql +=doc.getItemValue("cityname")+"’, ";
sql +=doc.getItemValue("cityroot")+")";
insertByDSName("kd",sql);

我在”保存“动作执行后脚本中打印插入的SQL, 后台打印如下 :
ss.jpg

但是执行 insertByDSName("SQLServer",insertSQL); 却执行不成功,  数据源名称肯定是正确的, 字段名称也核对过了,请问还有其他的什么问题么 ?
bess 发表于 2012-7-23 15:09:36 | 显示全部楼层
您好,您的楼上的代码有问题哦,您有个引号是中文状态下的哦。如图:
2222222222222222.png
 楼主| 上海怡蓝 发表于 2012-7-23 15:12:24 | 显示全部楼层
额, 上面的代码是我从你们的文档中拷贝出来的, 我是参考这个代码写的脚本,我自己的脚本如下:

  1. var doc = getCurrentDocument();
  2. var unitName = getItemValueAsString("receiptUnit");

  3. var sql = "select domainId,id  from dbo.TLK_SUPPLIER where item_supplierName='"+unitName+"' ";
  4. datas = queryBySQL(sql);
  5. var value="";
  6. for (var iter = datas.iterator(); iter.hasNext();) {
  7.     var item = iter.next();
  8.     value = item.getItemValueAsString("id");
  9. }

  10. if("" == value || "".equals(value) ){
  11.           var insertSQL = "insert into dbo.TLK_SUPPLIER (item_supplierName,item_bankOfDeposit,item_bankCarNo,item_bankAddress) values ('"+doc.getItemValueAsString("receiptUnit")+"','"+doc.getItemValueAsString("bankOfDeposit")+"','"+doc.getItemValueAsString("receiptBankCode")+"','"+doc.getItemValueAsString("depositBankAddress")+"')";
  12.           println("插入SQL:" + insertSQL);  
  13.     insertByDSName("SQLServer",insertSQL);
  14.           
  15. }
复制代码
 楼主| 上海怡蓝 发表于 2012-7-23 15:13:15 | 显示全部楼层
本帖最后由 上海怡蓝 于 2012-7-23 15:14 编辑

这里应该没有中文的字符 。。。
irene 发表于 2012-7-23 15:25:01 | 显示全部楼层
您好,请问您的数据源的名称是否与您insertByDSName("SQLServer",insertSQL);的第一个参数(SQLServer)一致。
数据源名称.jpg
 楼主| 上海怡蓝 发表于 2012-7-23 15:49:02 | 显示全部楼层
在  1# 我已经说过了,我已经确认过这个 名字是 OK的 ~
 楼主| 上海怡蓝 发表于 2012-7-23 15:52:55 | 显示全部楼层
error.jpg

附上点击“保存”后,tomcat 的后台显示信息 ~~~
irene 发表于 2012-7-23 16:03:21 | 显示全部楼层
您好,麻烦将dbo.TLK_SUPPLIER 这个的dbo去掉试试
 楼主| 上海怡蓝 发表于 2012-7-23 16:16:17 | 显示全部楼层
dbo 去掉是一样的效果 ~     
insertByDSName 有过成功的案列么 ?会不会是在我这边版本上不行呢 ?

MyApps-2.5.sp5.10357    IE8    WindowsXP
irene 发表于 2012-7-23 16:28:59 | 显示全部楼层
您好,这个方法有成功的案例。insertByDSName这个方法使用前提是:该方法的第一个参数必须是当前软件所绑定的数据源名称。如果是其他数据源名称则不成功。不知道您这个方法所使用的数据源名称是否符合上述前提?

本版积分规则

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

GMT+8, 2026-8-12 14:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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