标题:判断表中是否存在字段名,这个命令好像还有点问题。请指教。
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
我前面的代码有问题,字段名前要加表别名。向楼主表示歉意!
CLEAR
CREATE CURSOR test (a1 c(10), a2 c(10))
IF TYPE("test.a3") == "U"
    ? "不存在"
    ALTER TABLE test ADD a3 c(20)
ELSE
    ? "存在"
    ALTER TABLE test drop a1
    ALTER TABLE test ADD a1 c(20)
ENDIF
BROWSE

坚守VFP最后的阵地
2021-06-02 18:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用分号在2021-6-2 18:23:21的发言:

ALTER table 文科 drop bm
ALTER table 文科 ADD bm c(8)

修改表结构要重写表文件,删除又添加等于重写表文件两次
同名字段不用先删除后添加,直接修改字段的类型和长度就可以
2021-06-02 20:48
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
使用 FIELD()或 TYPE()前,应该先打开数据表。请看以下示例:

use 文科
if empty(field("bm"))
  alter table 文科 add bm c(8)
else
    ....

泉城飞狐
2021-06-03 11:52
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
用fsize()来判断字段是否存在.
if fsize('学号','表别名')>0
    ? '字段:学号 存在'
else
    ? '字段:学号 不存在'
endif

另外,使用type()前,要先 select 工作区,这是很多人会忽略的地方.
2021-06-04 12:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505921-1-1.html




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

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