昔日夕阳 2019-09-25 10:12 采纳率: 50%
浏览 272
已结题

用C语言编译完成这个程序,但我现在在学Java,对C的了解不多,希望大触们能帮帮我

图片说明图片说明

批量数据插入CODE表
解析code.csv文件批量插入CODE[PFPN])
插入DB时,做简单检查:主键(前三个栏位)中任何栏位不允许为空,不符合条件的节点不处理,但需要记录不符合条件的记录的总数,在返回结果中体现。
出现重复记录时不要报错而是更新,最终返回结果需要返回更新和插入的记录条数。

这是数据库表的基本结构,前三个栏位是主键
INSERT INTO cms.ccode
(CODE_CATE, CODE, CODE_EXT, SUBITEM, CODE_DSC, EXT_1, EXT_2, EXT_3, EXT_4, EXT_5)
VALUES('PFPN', '0002', 'P101TCAWA0Z', 'P101CCAW70Z', '10.1', '1410901-A1', 'N1011', 'C101NWT3', 'P101TCAWA1', 'M01');

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-09-25 10:19
    关注

    你得上传code.csv文件(到百度盘,给出地址),并且给出你的数据库用什么类型,才好具体帮到你。

    主键(前三个栏位)中任何栏位不允许为空,不知道你的数据文件怎么体现为空的,是直接前面三个逗号,还是根本缺少3列。还是要看了你的文件才知道。

    作为一般的方法,这里有一个现成的读取csv文件的代码:
    https://blog.csdn.net/pulci/article/details/51099251

    int GetTotalLineCount(FILE* fp); //计算csv文件中的总行数
    int GetTotalColCount(FILE * fp); //计算csv文件中的总列数(以第一行的列数为基准)
    int AssignSpaceForData(int inumdata); //通过指针*giCsvData给数据动态分配内存空间
    void FreeCsvData(); //释放动态数据内存
    int ReadCsvData(char* csvFilePath); //读取Csv中数据(本例默认数据类型为int)
    void ShowCsvData(); //通过控制台显示读取的csv数据

    直接读取到二维字符串数组

    之后就可以拼接sql插入数据库(用sprintf)

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序