| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 672 人关注过本帖
标题:【求助】求大神帮忙看下这段代码(关于保存)哪里出错了
只看楼主 加入收藏
撒哈拉渔民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-4-13
结帖率:50%
收藏
 问题点数:0 回复次数:8 
【求助】求大神帮忙看下这段代码(关于保存)哪里出错了
我又来求助了
当我运行时,点击删除,shiti表中的记录能够被删除,但是当我追加后,点击保存,shiti表中的并没有出现我追加的记录。求大神帮我看看【保存】的代码哪里出错了


这是界面
图片附件: 游客没有浏览图片的权限,请 登录注册



这是【删除】的代码
程序代码:
set delete on
dele
cz=messagebox("确实要删除这条记录吗?",4+32+256,"删除确认")
do case
case cz=6
     =tableupdate(.t.)
case cz=7
     recall
endcase
thisform.refresh




这是【保存】代码
程序代码:
n=recno() &&存放当前添加或编辑的记录号
sele shiti
dele for len(alltrim(shiti.试题))=0.or.;
len(alltrim(shiti.答案))=0 &&删除试题或答案无内容的记录
i=0 &&用来存放符合条件的记录个数
loca for alltrim(shiti.试题)==alltrim(thisform.edit1.value)
  do while.not.eof()
     i=i+1
     continue
   enddo
**locate语句查到的符合条件的记录包括当前正在编辑的记录
**有超过1个的记录时,第一个记录才会被删除
if i>1
   messagebox("这道题已经出现过,刚刚输入或编辑的信息已被删除。",0,"提示!")
   go n
   dele
endif
  =tableupdate(.t.)
  =.t.
  =.t.
  =.t.
  =.f.
  =.f.
  =.t.
  thisform.edit1.enabled=.f.
  thisform.txt答案.enabled=.f.
搜索更多相关主题的帖子: 记录 color 
2013-04-15 10:24
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
dele for len(alltrim(shiti.试题))=0.or.;
len(alltrim(shiti.答案))=0 &&删除试题或答案无内容的记录

这句删除了你当前的输入了吧,我见你的 答案 是无内容的啊。
2013-04-15 10:58
撒哈拉渔民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-4-13
收藏
得分:0 
回复 2楼 kiff
这个运行界面里面显示的内容是试题表里已经录入的(我也好奇怪为什么答案没显示,大概我把答案的代码又搞错了吧,%>_<%)。
我追加的时候也是输入了答案的。
2013-04-15 12:11
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
查一下 答案 对应的数据源是什么吧,可能是这个数据源问题
2013-04-15 12:14
撒哈拉渔民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-4-13
收藏
得分:0 
回复 2楼 kiff
可以追加后保存了,原来是我txt答案的代码有问题 谢谢
2013-04-15 12:15
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 


i=0 &&用来存放符合条件的记录个数
loca for alltrim(shiti.试题)==alltrim(thisform.edit1.value)
  do while.not.eof()
     i=i+1
     continue
   enddo
**locate语句查到的符合条件的记录包括当前正在编辑的记录
**有超过1个的记录时,第一个记录才会被删除
if i>1
   messagebox("这道题已经出现过,刚刚输入或编辑的信息已被删除。",0,"提示!")
   go n
   dele
endif
***************************
以上部分可改成这样:
loca for alltrim(试题)==alltrim(thisform.edit1.value) and recn()<>n
if found()
   messagebox("这道题已经出现过,刚刚输入或编辑的信息已被删除。",0,"提示!")
   go n
   dele
endif



2013-04-15 12:26
撒哈拉渔民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-4-13
收藏
得分:0 
回复 6楼 kiff
弱弱地问,为什么要改成这样,这样能有什么改进(我看不懂,求指导)
2013-04-15 13:57
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
以下是引用撒哈拉渔民在2013-4-15 13:57:29的发言:

弱弱地问,为什么要改成这样,这样能有什么改进(我看不懂,求指导)
你不觉得那个  循环 很多余吗
2013-04-15 13:59
撒哈拉渔民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-4-13
收藏
得分:0 
回复 8楼 kiff
似乎是的我现在就去改,谢谢指导~
2013-04-15 14:08
快速回复:【求助】求大神帮忙看下这段代码(关于保存)哪里出错了
数据加载中...
 
   



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

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