繁体   English   中英

计算行数但控制台没有打印任何内容?

[英]Counting the number of row but nothing is printed to the console?

我正在尝试计算表supplierNum中的行以找出每个供应商有多少供应

创建的表代码为:

CREATE TABLE supplier 
(
    supplierNum CHAR(2) NOT NULL,
    name CHAR(10) NOT NULL,
    status TINYINT(4) NOT NULL,
    city VARCHAR(10) NOT NULL,

    PRIMARY KEY (supplierNum)
);

我用来执行查询的语法是

String query = "SELECT city, COUNT(supplierNum) AS suplierCnt "+
                "FROM supplier "+
                "GROUP BY city "+
                "ORDER BY city DESC";

它使用 MySQL 工作台工作,当我在 eclipse 中执行它时,它只显示一个没有错误消息的空白终端,这让我觉得这是我在代码中遗漏的东西?

我在try块中使用的完整代码是

    try{
        Connection conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
        System.out.println("Connected");
        Statement st = conn.createStatement();

        String query = "SELECT city, COUNT(supplierNum) AS suplierCnt "+
                        "FROM supplier "+
                        "GROUP BY city "+
                        "ORDER BY city DESC";

        ResultSet rs = st.executeQuery(query);  

        while(rs.next()) {
            System.out.println(rs.getString("supplierCnt"));
            System.out.println(rs.getString("city"));
            space();
        }
    }

预期的结果是这样的

在此处输入图像描述

 System.out.println(rs.getString("supplierCnt"));

此代码块引用的字符串与

SELECT city, COUNT(supplierNum) AS suplierCnt "+

请注意,列名不匹配。

采用

System.out.println(rs.getInt("supplierCnt"));

代替

System.out.println(rs.getString("supplierCnt"));

由于 count() 返回 int。 这可能对你有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM