4.5.2 问题与解决方案设计
2025年09月17日
4.5.2 问题与解决方案设计
1)主要问题描述与解决方案
程序需要读取每个库中滑坡主表、崩塌主表、泥石流主表和斜坡主表中的长二进制数据。这4个表存在2种不同的表结构,其一是表中的每条数据有2个属性用于储存图片,分别是“平面示意图”和“剖面示意图”;另一种表结构是每条数据只有1个用于储存图片的属性:“示意图”。由此引出两个问题:
(1)对于有两张图片的数据,需要设计文件名来区分平面示意图和剖面示意图。解决方案为,对于有两张图片的数据,用唯一标识“统一编号”加上“A”作为平面示意图的文件名储存,“统一编号”加上“B”作为剖面示意图的文件名储存。
(2)面对多个县(市)不同调查单位的数据,不是每个数据库都具备相同的库表结构。程序需要区分不同的表结构用于不同的SQL语句,解决方案为,对于第一种表结构用try语句块包装,如果抛出异常,说明表结构出错,在catch语句块中尝试第二种表结构的查询。
2)程序设计方案
(1)遍历指定路径下的所有Access.mdb数据库文件。
(2)对于每个库中的滑坡主表、崩塌主表、泥石流主表和斜坡主表进行查找,得到各个表每条记录的统一编号和长二进制数据。
(3)在当前路径下创建和库名名字一样的文件夹,并建立4个表的子文件夹,用于各个表的图片存放。
(4)读入查询得到的二进制数据流并写出到文件,针对不同的表结构给出唯一文件名进行储存。