| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1673 人关注过本帖
标题:根据表记录建新表的问题,求大神指点!!
取消只看楼主 加入收藏
gkk714
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2014-12-7
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:4 
根据表记录建新表的问题,求大神指点!!
data.rar (2.59 KB)
数据字典里包含了所有表的表结构信息,现在要根据这个表的记录来生成所有的表,使用CREAT DBF 表名称(字段名称 数据类型(字段长度,小数位))来建表,使用ALTER TABLE 来追加字段。我用了两个中间变量 b和C
程序代码:
USE 数据字典 IN 0 ALIAS sjzd
DO WHILE .not.eof()
b='('+ALLTRIM(STR(sjzd.字段大小))+','+ALLTRIM(STR(sjzd.小数位数))+')'
?b
c=IIF(sjzd.小数位数=0,'('+ALLTRIM(STR(sjzd.字段大小))+')',b)
?c
?ALLTRIM(sjzd.字段名称)+' '+ALLTRIM(sjzd.数据类型)+c
?sjzd.表名称+(ALLTRIM(sjzd.字段名称)+' '+ALLTRIM(sjzd.数据类型)+c) &&这句可得到形如 qxb 操作员 c(20)
  CREATE dbf sjzd.表名称+(ALLTRIM(sjzd.字段名称)+' '+ALLTRIM(sjzd.数据类型)+c) 
来插入括号和逗号,执行到CREATE dbf sjzd.表名称+(ALLTRIM(sjzd.字段名称)+' '+ALLTRIM(sjzd.数据类型)+c) 这句的时候报告说语法错误,试了一下 CREATE dbf 表名称(字段名称 c(str(20)))报告语法错误,括号内的数字不能为字符型,不知道是否是这原因。 请问大神们怎么才能得到(字段名称 数据类型(字段长度,小数位))这其中的括号,逗号及不是字符型的字段长度和小数位?我只想到了以上的笨办法,求大神指点!!
搜索更多相关主题的帖子: color 记录 
2016-04-27 10:51
gkk714
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2014-12-7
收藏
得分:0 
数据字典里有五个字段 表名称 c(20)  字段名称C(20) 数据类型C(10) 字段大小 N(3) 小数位数 N(1)
2016-04-27 11:08
gkk714
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2014-12-7
收藏
得分:0 
谢班长,完全能达到设想。
2016-04-27 16:06
gkk714
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2014-12-7
收藏
得分:0 
还得注意一个问题,自由表的字段名长度不得大于10个字符,数据库表的字段名长度可达128个字符
2016-04-28 11:59
gkk714
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2014-12-7
收藏
得分:0 
不会自动截取,会报字段名重名或无效。临时表中可以大于10个字符。
2016-04-28 23:55
快速回复:根据表记录建新表的问题,求大神指点!!
数据加载中...
 
   



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

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