标题:求助如何将非dbf表(.csv文件)有选择的添加到dbf表里
取消只看楼主
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:157
专家分:153
注 册:2015-6-18
得分:0 
*-*创建表并添加字段
_bstfile="数据_"+_yyyymmdd
CREATE dbf &_bstfile (序号 N(8))
SELECT 字段库
GOTO TOP
DO WHILE !EOF()
    IF LEN(ALLTRIM(程序字段)) > 0 AND 是否启用 = "是"
        _fN = 程序字段
        _fT = 字段类型
        *ALTER TABLE &_bstfile ADD &_fN &_fT
        ALTER TABLE &_bstfile ADD &_fN C(60)
     ENDIF
     SKIP   
ENDDO

*-*将字段库中不使用的字段序号存入数组arrXH
SELECT 字段库
COUNT TO i FOR LEN(ALLTRIM(程序字段)) = 0 AND 是否启用="否"
DIMENSION arrXH(i)
GOTO TOP
DO WHILE !EOF()
    IF LEN(ALLTRIM(程序字段)) = 0 AND 是否启用="否"
    AINS(arrXH,1)
    arrXH[1]=序号
    ENDIF
    SKIP
ENDDO

*-*向空表中添加数据
_cData = FILETOSTR(_bst)
_nLines = ALINES(arrData, _cData)        &&表的行数
FOR i=2 TO _nLines
    ALINES(arrFields, arrData[i], ",")
    FOR n=1 TO ALEN(arrXH)
      ADEL(arrFields,arrXH[n])           &&删除数据数组中不使用的内容
    ENDFOR
    AINS(arrFields,1)
    arrFields[1]=i-1                     &&第一列序号
    INSERT INTO &_bstfile FROM ARRAY arrFields
ENDFOR

这样效率提升很多,下一步需要把文本列改为需要的数值型、日期型


[此贴子已经被作者于2018-1-30 16:34编辑过]

2018-01-30 16:17



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




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

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