Jdbc 正在从结果集中获取信息,而
我为我的班级制作了一个名为amazon的项目数据库。 在这份报告中,我想展示从销售最好的产品到最后一次销售的产品。 我想得到最畅销的产品,并展示所有购买它们的客户 展示他们的电子邮件以及他们购买该产品的数量。 好的,我可以展示最畅销的产品。我知道如何获取第一行的标题(如果两个或更多产品的销售数量相同,我会遇到问题),但我不能在进行另一个查询时仅从结果集中的第一个表中获取标题:/ 有人能帮我解决这个问题吗Jdbc 正在从结果集中获取信息,而,jdbc,Jdbc,我为我的班级制作了一个名为amazon的项目数据库。 在这份报告中,我想展示从销售最好的产品到最后一次销售的产品。 我想得到最畅销的产品,并展示所有购买它们的客户 展示他们的电子邮件以及他们购买该产品的数量。 好的,我可以展示最畅销的产品。我知道如何获取第一行的标题(如果两个或更多产品的销售数量相同,我会遇到问题),但我不能在进行另一个查询时仅从结果集中的第一个表中获取标题:/ 有人能帮我解决这个问题吗 void report2 (Connection conn) throws
void report2 (Connection conn)
throws SQLException, IOException {
String query0 = "select title, SUM (quantityb) AS total from product,buy where id = idb group by title order by total DESC";
String title,title2,name,email,t;
int quan,quanp;
Statement stmt = conn.createStatement ();
ResultSet rset0;
System.out.print("\n\n************************************MOST POPULAR PRODUCTS************************************\n");
System.out.print(" TITLE OF THE PRODUCT TOTAL PURCHASED\n"+
"-------------------------------------------- -------------------------\n");
try {
rset0 = stmt.executeQuery(query0);
} catch (SQLException e) {
System.out.println("Problem reading purchases");
while (e != null) {
System.out.println("Message : " + e.getMessage());
e = e.getNextException();
}
return;
}
while (rset0.next())
{
title = rset0.getString(1);
quan = rset0.getInt(2);
System.out.printf("%-108s %-3d \n ",title,quan);
}
PreparedStatement statement = conn.prepareStatement(query0);
statement.setMaxRows(1);
ResultSet rset1 = statement.executeQuery();
while (rset0.next())
{
title2= rset1.getString(1);
}
String query2 = "select
String query1 = "Select fname,email,quantityb"+
"from custumer,product,buy"+
"where email = emailb"+
"and id = idb"+
"and title ='"+title2+"'";
System.out.print("..............................Who Purchased the most popular product.............................\n");
System.out.print("PRODUCT:"+title2+"\n\n");
System.out.print(" FIRST NAME EMAIL QUANTITY\n"+
"--------------------- ----------------------------- ------------------\n");
ResultSet rset2;
try {
rset2= stmt.executeQuery(query1);
} catch (SQLException e) {
System.out.println("Problem reading people");
while (e != null) {
System.out.println("Message : " + e.getMessage());
e = e.getNextException();
}
return;
}
while (rset2.next())
{
name=rset2.getString(1);
email=rset2.getString(2);
quanp=rset2.getInt(3);
System.out.printf("%-8s \t\t\t%-25s\t\t\t %3d \n ",name,email,quanp);
}
stmt.close();
}
结果
java:405:变量title2可能尚未初始化
“和title=”+title2+“”;
^
1错误这似乎是一个家庭作业或练习
variable title2 might not have been initialized
是因为您尚未初始化任何字符串变量,包括title2
改变
字符串标题、标题2、姓名、电子邮件、t代码>到
String title=”,title2=”,name=”,email=”,t=”代码>
第二,
String query2 = "select
这是不完整的,它应该是一些有意义的值,带有结尾引号和分号
如String query2=“选择*fromtblname”代码>
在旁注中,
始终为问题提供完整的错误堆栈