| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1078 人关注过本帖
标题:请大师们看看我错哪里了
只看楼主 加入收藏
关关雎鸠
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:170
注 册:2010-4-13
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:13 
请大师们看看我错哪里了
a=alltrim(thisform.Text1.value)
b=alltrim(thisform.Text2.value)
c=alltrim(thisform.Text3.value)
d=alltrim(thisform.Text4.value)
e=alltrim(thisform.Text5.value)
f=alltrim(thisform.Text6.value)
if empty(a)                     &&此条件成立则说明该文本框是空的
   messagebox("请输入类别名称",16,"系统提示")
   return
else
  locate for 类别=a
if empty(b)                    
   messagebox("请输入商品编号",16,"系统提示")
   return
else
  locate for 编号=b
  if .not.eof()               
      go top
      messagebox("不允许有重复的商品编号",16,"系统提示")
      return
  endif
endif
if empty(c)
   messagebox("请输入商品名称",16,"系统提示")
   return
else
  locate for 名称=c
  if empty(d)
   messagebox("请输入商品规格",16,"系统提示")
   return
else
  locate for 规格=d
  if empty(e)
   messagebox("请输入商品品牌",16,"系统提示")
   return
else
  locate for 品牌=e
  if empty(f)
   messagebox("请输入商品产地",16,"系统提示")
   return
else
  locate for 产地=f
msg=messagebox('确定要添加记录吗?',32+4,'系统提示')
if msg=6
   INSERT INTO 商品信息;
   (类别,编号,名称,规格,品牌,产地) ;
   alltrim(thisform.Text1.value),;
   alltrim(thisform.Text2.value),;
   alltrim(thisform.Text3.value),;
   alltrim(thisform.Text4.value),;
   alltrim(thisform.Text5.value),;
   alltrim(thisform.Text6.value))
   messagebox('信息添加成功!',64,'系统提示')
ENDIF
 thisform.grid1.refresh
    thisform.Text1.value=""
    thisform.Text2.value=""
    thisform.Text3.value=""
    thisform.Text4.value=""
    thisform.Text5.value=""
    thisform.Text6.value=""
    thisform.Text1.setfocus
    thisform.refresh
endif
搜索更多相关主题的帖子: 大师 
2010-07-15 16:18
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:4 
将函数empty()换成isnull()试试。
另外求助最好描述的更为详细些,不要过于简单。至少要告诉大家错误的现象,是运行达不到目的还是程序运行不了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2010-07-15 20:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
if empty(a)                     &&此条件成立则说明该文本框是空的
   messagebox("请输入类别名称",16,"系统提示")
   return
else
  locate for 类别=a
这缺少endif
2010-07-15 21:27
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:4 
二楼,isnull()应该是指空值,空值不是指没有值,所以,用您办法估计不行。
本人认为,楼主用EMPTY是正确的,运行不了主要是3楼所指出的问题,而且这个问题还不止一处。
另外,楼主可能是想后面的代码简单一些,所以用了a=alltrim(thisform.Text1.value),其实直接IF EMPTY(thisform.Text1.value)也是可以的。

两人行已有我师……
2010-07-15 22:56
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
补充一下,也可以用IF alltrim(thisform.Text1.value)=''

两人行已有我师……
2010-07-15 22:57
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:4 
为什么不用 if a="" ?

不过,需要在前面加上 set exact on

缺少了N个 endif
建议楼主:写程序要有层次!

2010-07-16 14:41
关关雎鸠
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:164
专家分:170
注 册:2010-4-13
收藏
得分:0 
回复 2楼 hu9jj

   INSERT INTO 商品信息;
   (类别,编号,名称,规格,品牌,产地) ;
   alltrim(thisform.Text1.value),;
   alltrim(thisform.Text2.value),;
   alltrim(thisform.Text3.value),;
   alltrim(thisform.Text4.value),;
   alltrim(thisform.Text5.value),;
   alltrim(thisform.Text6.value))


缺少if|else|endif语句
可我上边都有啊

[ 本帖最后由 关关雎鸠 于 2010-7-16 15:39 编辑 ]
2010-07-16 15:33
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
一个if应对应一个endif
粗略数了一下8个if,3个endif
2010-07-16 15:52
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
收藏
得分:4 
呵呵,搞了半天楼是在考大家的眼力,我还给他一句一句的看,反倒是忘记了去数if endif

不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2010-07-17 16:53
中国龙王
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:484
专家分:283
注 册:2006-5-17
收藏
得分:0 
其实我建议楼主在每个控件的valid事件中来设置这些要求,又好改又好用

不要为了打发无聊而做无聊的事!不要在虚幻的世界里做虚幻的事!
2010-07-17 16:56
快速回复:请大师们看看我错哪里了
数据加载中...
 
   



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

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