‘liusuyi’
2023-09-14 8db95778fffe41dc9f562a02d1e42dbe2582a18a
ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
@@ -8,25 +8,28 @@
 * @Version: 1.0
 **/
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.sql.*;
@Slf4j
@Component
public class ReadAccessDatabase {
    public static void main(String[] args) {
//        // 多个数据库文件路径
//        String[] dbPaths = {
//                "D:\\mdb\\道路中心线.mdb",
//                "D:\\mdb\\防风林-灌木.mdb",
//                // 添加更多的数据库文件路径
//        };
//
//        // 遍历每个数据库文件
//        for (String dbPath : dbPaths) {
//            readDataFromAccessDatabase(dbPath);
//        }
        // 多个数据库文件路径
        String[] dbPaths = {
                "D:\\Workspaces\\ard\\安瑞达工作资料\\mdb\\道路中心线.mdb"
//                "D:\\Workspaces\\ard\\安瑞达工作资料\\mdb\\防风林-灌木.mdb",
                // 添加更多的数据库文件路径
        };
        // 遍历每个数据库文件
        for (String dbPath : dbPaths) {
            readDataFromAccessDatabase(dbPath);
        }
    }
    public static void readDataFromAccessDatabase(String dbPath) {
@@ -47,16 +50,16 @@
                if (!tableName.equals("道路中心线")) {
                    continue;
                }
                System.out.println("表名: " + tableName);
                log.info("表名: " + tableName);
                // 获取表的字段元数据
 //               ResultSet column = metaData.getColumns(null, null, tableName, null);
                ResultSet column = metaData.getColumns(null, null, tableName, null);
                // 遍历字段
//                while (column.next()) {
//                    String columnName = column.getString("COLUMN_NAME");
//                    System.out.println("字段名: " + columnName);
//                }
//                column.close();
                while (column.next()) {
                    String columnName = column.getString("COLUMN_NAME");
                    log.info("字段名: " + columnName);
                }
                column.close();
                // 执行查询操作
                String sql = "SELECT * FROM " + tableName; // 替换为你要查询的表名
                Statement statement = connection.createStatement();
@@ -65,12 +68,12 @@
                while (resultSet.next()) {
                    // 读取每一行数据
                    String id = resultSet.getString(1); // 根据表中的列名获取数据
                    String name = resultSet.getString("编号");
                    String no = resultSet.getString("编号");
                    String name = resultSet.getString("道路名称");
                    // 可以根据具体的表结构继续获取其他字段的数据
                    // 在这里处理获取到的数据,例如输出到控制台或保存到集合中
                    System.out.println("ID: " + id + ", Name: " + name);
                    log.info("ID: " + id + ", No: " + no+ ", Name: " + name);
                }
                // 关闭连接
                resultSet.close();
@@ -82,5 +85,7 @@
            e.printStackTrace();
        }
    }
}