|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 有一事不明请教各位高手?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
636
人关注过本帖
标题:
有一事不明请教各位高手?
只看楼主
加入收藏
smart921
等 级:
新手上路
帖 子:107
专家分:9
注 册:2010-8-8
结帖率:
86.96%
楼主
收藏
已结贴
√
问题点数:10 回复次数:14
有一事不明请教各位高手?
我作了个表单,其中有条命令是:
repl all ydsj with ctod(substr(alltrim(thisform.Text5.value),6,2)+"/"+right(alltrim(thisform.Text5.value),2)+"/"+left(alltrim(thisform.Text5.value),4))
表单单独运行时是正确的。但编译后在程序中运行,结果ydsj值是空的,不知何故?请高手不吝赐教。
搜索更多相关主题的帖子:
表单
2012-03-13 22:56
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:0
以后凡是遇到这种问题,在这行前面加一句MESSAGEBOX(ThisForm.Text5.Value),运行看看那是什么。
授人以渔,不授人以鱼。
2012-03-13 22:59
举报帖子
使用道具
赠送鲜花
smart921
等 级:
新手上路
帖 子:107
专家分:9
注 册:2010-8-8
第
3
楼
收藏
得分:0
回复 楼主 smart921
显示没有错,比如2012.03.13。单独运行ydsj为03/13/12,程序运行后为
/
/
.
2012-03-13 23:06
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
收藏
得分:0
并且我建议你不要把后面那串东西写在replace all的后面,拖慢速度不说,还不好调试,先把它赋值给一个变量,再replace就好了,这样要检查那个东西是否正确都好做。为什么会拖慢速度呢?这样的语句每次循环迭代都要到ThisForm.Text5控件中求取.Value三次,三次事小,但这样到控件中取值是远程地址运算,但如果事先赋值给一个内存变量,这个变量就等于常数,replace all时就不需要再动态求值,数据库越大,效果差异越显著。因此你不要以为这样一行写完就显得很高明。
授人以渔,不授人以鱼。
2012-03-13 23:06
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
收藏
得分:2
回复 3楼 smart921
后者不是错了么?你看看代码中取的年份位数是几位?实际是几位?那是字符串呀,两次显示的字符串都不一样,不错才怪。
授人以渔,不授人以鱼。
2012-03-13 23:07
举报帖子
使用道具
赠送鲜花
Tiger5392
等 级:
贵宾
威 望:
88
帖 子:2775
专家分:2237
注 册:2006-5-17
第
6
楼
收藏
得分:4
也许跟日期显示格式设置有关。
感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2012-03-13 23:14
举报帖子
使用道具
赠送鲜花
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
335
帖 子:9841
专家分:27213
注 册:2012-2-5
第
7
楼
收藏
得分:4
set century 命令
SET DATE 命令
请楼主看下这两个命令的使用方法
或者在“工具”标题“选项”中的“区域”页框中,设置日期格式。
[
本帖最后由 sdta 于 2012-3-13 23:21 编辑
]
坚守VFP最后的阵地
2012-03-13 23:18
举报帖子
使用道具
赠送鲜花
Tiger5392
等 级:
贵宾
威 望:
88
帖 子:2775
专家分:2237
注 册:2006-5-17
第
8
楼
收藏
得分:0
建议表单设置Text5文本框的时候,赋予初值Date(),后面的事情就好办了:repl all ydsj with thisform.Text5.value
感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2012-03-13 23:19
举报帖子
使用道具
赠送鲜花
smart921
等 级:
新手上路
帖 子:107
专家分:9
注 册:2010-8-8
第
9
楼
收藏
得分:0
回复 5楼 TonyDeng
首先十分感谢你的帮助。恕我愚钝,我代码中年份取4位,单独运行得出的结果是日期型的,显示为03/13/12,没有错啊!但在程序中运行后,ydsj这个日期型字段的值是空的显示为
/
/
.
2012-03-13 23:19
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
10
楼
收藏
得分:0
现在只看实际显示的结果,你的代码从Text5.Value的第6位开始取2位、最右边取2位、再取最左边的4位,你根据显示的Text5.Value字符串自己取一取看那是什么?
[
本帖最后由 TonyDeng 于 2012-3-13 23:25 编辑
]
授人以渔,不授人以鱼。
2012-03-13 23:24
举报帖子
使用道具
赠送鲜花
15
1/2页
1
2
快速回复:
有一事不明请教各位高手?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.061024 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved