回 帖 发 新 帖 刷新版面

主题:[讨论]求助!!!关于label的值放入到表中

表单上有四个label标签,当运行结束后,将四个标签中的caption值放入到表中,我的程序如下,但是就是觉得上面程序执行之后,这部分程序没有执行,表中并没有值,也没有报错。

表中属性分别是  序列号,用户1,用户2,用户3,用户4  但是每一次运行,就在下面添一条记录,序列号我不知道在VFP中是否可以自动生成,所以我自己事先先写了1、2、……10。

LOCAL maxnum, realnum, i, j, a, c, ii, p, q, r, s,n
……
             thisform.label&ii..caption= '第'+STR(c, 1)+"胜出"
……
n=1
p=TRIM(THISFORM.LABEL1.caption)
q=TRIM(THISFORM.LABEL2.caption)
r=TRIM(THISFORM.LABEL3.caption)
s=TRIM(THISFORM.LABEL4.caption)

update 数据表 set 用户1=p, 用户2=q, 用户3=r, 用户4=s where 序列号=n
n=n+1

拜托老师们帮帮忙看一下,为什么结果不报错,但是也不将结果放入到表中

回复列表 (共3个回复)

沙发

update 数据表 set 用户1=p, 用户2=q, 用户3=r, 用户4=s where 序列号=&n
少了一个&

板凳

还是不行啊,我的表还是没有反应的,那需不需要设置什么label的属性啊?跟表有关的什么属性的?

而且很奇怪的就是,前面的程序都运行完之后,后面我添加的一部分程序他并不执行,这是为什么呢?

3 楼

1.  update是用来修改的,不是添加记录
2.  trim()是用来删除右边空格的,如果左边有空格的话是去不掉的。
3.  where 是用来设置条件的,如果条件为.f.  SQL语句不会执行更新。可以设置断点,然后在调试器中追踪条件的值。

从这三方面去考虑一下,估计应该能解决问题吧。
还有的就是,建议别偷懒,变量名打多几个字母比较好。

我来回复

您尚未登录,请登录后再回复。点此登录或注册