【发布时间】:2025-12-21 12:55:10
【问题描述】:
在(使用 mysql)表中,我的一列(即颜色)类似于:
|Color|
======
|Red |
|Blue |
|Green|
|Red |
|Green|
|Green|
|Red |
|Red |
在我当前的 jsp 页面中建立 jdbc 连接后:我正在尝试在饼图中显示值(它在 jscript 中写入,我将从 mysql 中放入值),例如:
|Color|no. of Times|
====================
|Red | 4 |
|Blue | 1 |
|Green| 3 |
购买我无法将值放入图表中(我猜代码有问题):
<%
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/apps","root","root");
Statement stmt = con.createStatement();
String sql2="select distinct(color) as COLOR from user_management order by device;";
ResultSet rs2 = stmt.executeQuery(sql2);
String s = rs2.getString("color");
while(rs2.next()){
String device = rs2.getString("color");
List<String> list=new ArrayList<String>();
list.add(device);
}
// I guess here will be some code for device value in String, say "s"
String sql1 = "select count(case when color='"+s+"' then 1 end) as COLOR from user_management";
ResultSet rs1 = stmt.executeQuery(sql1);
System.out.println(sql1);
%>
然后将结果集放入饼状表中
<table id="chartData">
<% while(rs2.next()){ %>
<% while(rs1.next()){ %>
<tr>
<th>DEVICE</th><th>NUMBER</th>
</tr>
<tr style="color: #0DA068">
<td><%= rs2.getString("device")%></td><td><%= rs1.getString(1)%></td>
</tr>
<% }
%>
<% }
%>
</table>
如何获取图表中颜色名称和否的列值的任何输入。颜色的变化同时发生。
【问题讨论】:
-
请学会分离关注点。这根本不是 Java/JSP/Servlet 问题。这只是一个简单的 JDBC/SQL 问题。在使用
main()方法而不是直接在 JSP 文件中的普通 Java 应用程序类中独立执行/测试 JDBC/SQL 代码时,您会遇到完全相同的问题。 -
感谢您的评论,我能让您了解问题吗?是否可以通过这种方式实现......或者我哪里出错了......任何输入