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

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

这sql语句到底是没执行还是真没执行啊

[复制链接]
qman1989 发表于 2012-4-18 15:27:28 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2012-5-25 10:37 编辑

代码如下:
  1. #include "mylib";
  2. ......
  3. ......
  4. ......
  5. var sql = "INSERT INTO t_specialday VALUES ('%id%', '%calendarid%', '%status%', TO_DATE('%start_time%', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('%end_time%', 'YYYY-MM-DD HH24:MI:SS'), null, null, null, null, null, null, null, null, null, null, '0', '%domainid%', TO_DATE(sysdate, 'YYYY-MM-DD HH24:MI:SS'), '%sortid%00000', null, '%context%', '%calendarid%');";
  6. sql = sql.replace('%id%',id).replace(/%calendarid%/g,calendarid).replace('%status%',status).replace('%start_time%',start_time).replace('%end_time%',end_time).replace('%domainid%',domainid).replace('%sortid%',sortid).replace('%context%',context);
  7. println(sql);
  8. insertByDSName(getDSName(),sql);
复制代码
唉,严重影响我的进度啊,这问题真不知从何下手啊。
sql语句是正常的,数据库是oracle
输出的语句:
INSERT INTO t_specialday VALUES ('custom-1334733648375', '11e1-87a3-668b4e0d-9c8b-673a9ceefb76', '01', TO_DATE('2012-04-24', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2012-04-28 23:59:00', 'YYYY-MM-DD HH24:MI:SS'), null, null, null, null, null, null, null, null, null, null, '0', '11e1-87a3-6667996b-9c8b-673a9ceefb76', TO_DATE(sysdate, 'YYYY-MM-DD HH24:MI:SS'), '133473364837500000', null, '', '11e1-87a3-668b4e0d-9c8b-673a9ceefb76');
insertByDSName貌似没工作还是咋滴反正数据是没插入进去...
bess 发表于 2012-4-18 15:34:49 | 显示全部楼层
您好,请问您这里的getDSName()是获取的哪里的值,然后这个insertByDSName()方法里面第一个参数放的应该是数据源名称。
 楼主| qman1989 发表于 2012-4-18 15:38:06 | 显示全部楼层
回复 2# bess
我写在mylib里的,返回的就是数据源的名称,直接用insertByDSName('dsname',sql)试过了,也不行
purple 发表于 2012-4-18 16:00:36 | 显示全部楼层
您好,请问您的脚本是写在什么位置?sql直接在数据库客户端执行,有没有效果呢?
bess 发表于 2012-4-18 16:05:04 | 显示全部楼层
您好,经过测试我们发现这个函数本身是没有问题的,根据您的情况,我们觉得问题是出在您的sql语句那里,因为我们平台对于每张表都有一些必填系统字段,如果您不是特别清楚,我们建议您可以现在平台插入一条记录,然后在数据里将这条记录的sql语句导出,然后再在导出的sql语句基础上修改您需要插入的数据。
 楼主| qman1989 发表于 2012-4-18 16:06:34 | 显示全部楼层
回复 4# purple


   写在表单保存的“ 动作执行前脚本”
   用数据库客户端是可以正常执行的
 楼主| qman1989 发表于 2012-4-18 16:12:38 | 显示全部楼层
回复 5# bess


    我也是这样,navicat执行是没问题的
purple 发表于 2012-4-18 16:13:49 | 显示全部楼层
回复 6# qman1989


    您好,请打出您的getDSName()的值,如果是当前软件的数据源名称,请尝试一下我同事提供的方法。如果还不行,我们再沟通。
 楼主| qman1989 发表于 2012-4-18 16:44:06 | 显示全部楼层
回复 8# purple
//这是一条正常的sql语句,navicat下成功执行
var sql = "INSERT INTO t_specialday VALUES ('custom-1334735849531', '11e1-87a3-668b4e0d-9c8b-673a9ceefb76', '01', TO_DATE('2012-04-15', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2012-04-19 23:59:00', 'YYYY-MM-DD HH24:MI:SS'), null, null, null, null, null, null, null, null, null, null, '0', '11e1-87a3-6667996b-9c8b-673a9ceefb76', TO_DATE(sysdate, 'YYYY-MM-DD HH24:MI:SS'), '133473584953100000', null, 'fdf', '11e1-87a3-668b4e0d-9c8b-673a9ceefb76');";
println(sql);
insertByDSName('nazw',sql);//数据源名称是正确的
以上代码运行后数据还是没插入(表已经清空了)
可能是我不小心触发某个bug了,反正我看是无解了
只想问问,myApps用哪种数据库合适,还是mysql还是oracle?
bess 发表于 2012-4-18 16:46:36 | 显示全部楼层
您好,我们平台对于mysql,sqlserver,db2,oracle数据都支持的很好,如有问题,我们在沟通

本版积分规则

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

GMT+8, 2026-8-13 01:59

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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