| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:Execscript sql 问题
只看楼主 加入收藏
lgp740401_72
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2014-4-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
Execscript sql 问题
在sql中运行:SELECT cast(thick AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),可以运行,没有错!
用Execscript()没有问题
             SELECT cast(thick*venthick*2-1 AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),也可以运行,也没有错!
但在:Execscript()出错了?大侠们知道怎么回事?
搜索更多相关主题的帖子: 仓库 
2014-05-30 18:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27237
注 册:2012-2-5
收藏
得分:4 
运行环境是VFP?

[ 本帖最后由 sdta 于 2014-5-30 19:42 编辑 ]

坚守VFP最后的阵地
2014-05-30 19:36
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:4 
不认识

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-30 19:47
lgp740401_72
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2014-4-17
收藏
得分:0 
对啊
2014-05-30 20:20
lgp740401_72
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 2 楼 sdta
是的
Execscript sql 问题
在sql中窗口运行:SELECT cast(thick AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),可以运行,没有错!
再让程序在Execscript()运行没有问题!
在sql中窗口运行: SELECT cast(thick+venthick*2-1 AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),也可以运行,也没有错!
但在让程序在Execscript()运行出错了?大侠们知道怎么回事?

[ 本帖最后由 lgp740401_72 于 2014-5-30 21:54 编辑 ]
2014-05-30 20:22
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
以下是引用lgp740401_72在2014-5-30 20:22:23的发言:

是的
Execscript sql 问题
在sql中窗口运行:SELECT cast(thick AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),可以运行,没有错!
再让程序在Execscript()运行没有问题!
在sql中窗口运行: SELECT cast(thick+venthick*2-1 AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2)))),也可以运行,也没有错!
但在让程序在Execscript()运行出错了?大侠们知道怎么回事?
你这select语句不像是vfp能运行的代码啊
2014-05-30 23:15
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27237
注 册:2012-2-5
收藏
得分:0 
SELECT cast(thick*venthick*2-1 AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2))))

如果是VFP代码,红字处应该是 字段名 ,从代码中看, 红字 应该是数据表名称

坚守VFP最后的阵地
2014-05-31 00:56
lgp740401_72
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2014-4-17
收藏
得分:0 
以下是引用tlliqi在2014-5-30 23:15:26的发言:

你这select语句不像是vfp能运行的代码啊
误会了,我是在vfp通过Execscript调用下面语句执行sql
2014-06-01 14:15
lgp740401_72
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2014-4-17
收藏
得分:0 
以下是引用sdta在2014-5-31 00:56:16的发言:

SELECT cast(thick*venthick*2-1 AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2))))

如果是VFP代码,红字处应该是 字段名 ,从代码中看, 红字 应该是数据表名称
Tb_细木板跟踪表是表名,其实就是只有选择的字段区别啦,第一个是表中已存在的THICK数值型字段,直接用CAST转换做组合框的数据源,另一个是利用表中已存在的THICK和VENTHICK经过计算(thick*venthick*2-1)后产生的新字段用CAST转换做组合框的数据源,我直接在SQL窗体运行这句又没问题

[ 本帖最后由 lgp740401_72 于 2014-6-1 14:22 编辑 ]
2014-06-01 14:15
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:4 
用 ExecScript() 执行 SQL 语句?我还是第一次碰到。楼主是不是把 SQLEXEC()函数与 EXECSCRIPT()函数混淆了?
如果在 SQL Server 上运行没有问题,则采用如下语句肯定也是没有问题的:

cSql = "SELECT cast(thick AS char(10)) as 厚度 FROM tb_中板仓库_b WHERE (jlsjh_tb_生产跟踪表 IN (SELECT jlsjh FROM Tb_细木板跟踪表 WHERE (RTRIM(LTRIM(单据编号)) ='xmgzb'+CAST(YEAR(GETDATE()) AS varchar(4))+RIGHT('0'+CAST(MONTH(GETDATE()) AS varchar(2)),2))))"
IF SQLEXEC(gnHandle,cSql,'curRet') > 0
    BROWSE
ENDIF

泉城飞狐
2014-06-01 16:44
快速回复:Execscript sql 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.064478 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved