【发布时间】:2021-12-12 07:31:48
【问题描述】:
我有一个程序可以探测数据库并打印一些查询的报告。我想在一行上打印部门名称,让员工在其下运行所有后续项目,如下所示:
行政管理——詹妮弗·S·华莱士
电脑化
新福利
总部——詹姆斯·E·博格
重组
研究 – 富兰克林 T. Wong
产品X
产品Y
产品Z
但是我的打印方式:
管理 Wallace S. Jennifer 计算机化
行政华莱士·S·詹妮弗·新福利
总部 Borg E. James 重组
研究 Wong T. Franklin 产品X
研究 Wong T. Franklin 产品Y
研究 Wong T. Franklin ProductZ
我该如何解决这个问题?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBC{
public static void main(String[] args){
String name = "";
String projects = "";
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://cis-lonsmith-
student2.ccr8ibhqw8qf.us-east-2.rds.amazonaws.com/COMPANY?useSSL=false", "user",
"Password");
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery("SELECT Dname, Fname, Lname, Minit,
Pname FROM DEPARTMENT, EMPLOYEE, PROJECT WHERE Mgr_ssn = Ssn AND Dnum = Dnumber GROUP BY
Pname ORDER BY Dname;");
while(result.next()){
name = result.getString("Dname") + " - " + result.getString("Lname") + " " +
result.getString("Minit") + ". " + result.getString("Fname") + " " +
result.getString("Pname");
System.out.println(name);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
【问题讨论】:
-
我强烈建议您使用自 1992 年以来可用的现代连接语法。很难阅读您的查询。