请帮忙看看,是哪里错了什么,为什么while循环进不去

crx85711311 2018-07-02 07:09:14
我是打算把数据库表格里全部数据输出,但是不知道为什么while循环不运行。while在第38行。

package studentcontent;

import java.awt.Color;
import java.awt.Font;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;

import sql.Landingconnection;

public class CalssPreview extends JFrame{
Panel pan1; //面板
JScrollPane jsp; //可滚动窗格
JLabel jlb0; //标签
JButton btn1,btn2; //按钮
JTextArea jta1; //查询方式
public CalssPreview() {
super("选课预览"); //标题
ResultSet rs; //创建结果集对象
Landingconnection dbcon = new Landingconnection(); //创建Landingconnection类对象dbcon
PreparedStatement ptstmt; //创建PreparedStatement类对象
Connection con = dbcon.getConnection(); //连接数据库
setPanelInit(); //面板1
setLabelInit(); //标签
setButtomInit(); //按钮
setFrameInit(); //窗口
setImageInit(); //图片
String content ="0"; //
String s = "select * from calss where calssid='" + content + "'";
if(!content.equals("")){
try {
ptstmt=con.prepareStatement(s); //查找
rs = ptstmt.executeQuery(); //结果集
String everycontent = "";System.out.println("1"); //内容
while(rs.next()){ //每循环一次就加一
String id = rs.getString(1);System.out.println("2"); //获取第一列数据
String name = rs.getString(2); //获取第二列数据
String teacher = rs.getString(3); //获取第三列数据
everycontent += "课程编号:" + id + " 课程名称::" + name + " 授课老师:" + teacher + "\n\n";
}
jta1.setText(everycontent); //设置多行文本域的内容
} catch (SQLException e3) {
e3.printStackTrace();
}
}
}
private void setImageInit() {
Icon i = new ImageIcon("Images//标题.png"); //创建图片对象
JLabel lab_bg = new JLabel(i); //制作背景
lab_bg.setBounds(140, 0, 500, 100); //设置位置和大小
this.add(lab_bg); //将图片添加到窗体里
}
private void setPanelInit() {
pan1 = new Panel(); //添加面板
pan1.setBounds(0,200,800,450); //设置按钮位置和大小
pan1.setBackground(Color.cyan); //面板背景颜色
pan1.setLayout(null); //自由布局
jta1 = new JTextArea(); //设置多行文本框位置和大小
jsp = new JScrollPane(jta1); //为多行文本框添加滚动条
jta1.setFont(new Font("宋体",Font.PLAIN,20)); //设置多行文本框中字体大小
pan1.add(jsp); //将多行文本框添加到面板里
}
private void setLabelInit() {
//设置标签内容
jlb0 = new JLabel("可选课程预览:");
//设置标签位置和大小
jlb0.setBounds(70, 100, 400, 50);
//设置标签中字体大小
jlb0.setFont(new Font("宋体",Font.PLAIN,35));
//将标签添加到窗体里
this.add(jlb0);
}
private void setButtomInit() {
btn1 = new JButton("返回"); //设置按钮内容
btn2 = new JButton("关闭程序"); //设置按钮内容
btn1.setBounds(200, 500, 133, 50); //设置按钮位置和大小
btn2.setBounds(400, 500, 133, 50); //设置按钮位置和大小
btn1.setFont(new Font("宋体",Font.PLAIN,20)); //设置按钮中字体大小
this.add(btn1); //将按钮添加到窗体里
this.add(btn2); //将按钮添加到窗体里

btn1.addActionListener(new ActionListener() { //查
public void actionPerformed(ActionEvent e) {
dispose(); //关闭当前窗口
}

});
btn2.addActionListener(new ActionListener() { //退出
public void actionPerformed(ActionEvent e) {
System.exit(0); //结束程序
}
});
}
//创建窗口
private void setFrameInit(){
this.setTitle("选课预览"); //设置窗口的标题
this.setLayout(null); //自由布局
this.setSize(800,600); //窗口大小
int a10 = Toolkit.getDefaultToolkit().getScreenSize().width; // 取得屏幕长度
int b10 = Toolkit.getDefaultToolkit().getScreenSize().height; // 取得屏幕宽度
this.setBounds((a10 - 800) / 2, (b10 - 600) / 2,800,600); // 设定位置大小
this.setResizable(true); // 设定不能缩放
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当点击右上交的叉时关闭程序
this.setVisible(true); //显示窗口

}
}

...全文
132 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
crx85711311 2018-07-02
  • 打赏
  • 举报
回复
引用 1 楼 c_lanxiaofang 的回复:
说明rs.next()没有结果集,至于为什么没有结果集
String content ="0";
String s = "select * from calss where calssid='" + content + "'";
看L31和L32,以及联系你的calss表的calssid列没有数据是0的。
额外:班级是class
非常感谢,是我傻了,我应该String s = "select * from calss where calssid like '%" + content + "%'";的,至于英语永远的伤
懒笑翻 2018-07-02
  • 打赏
  • 举报
回复
说明rs.next()没有结果集,至于为什么没有结果集
String content ="0";
String s = "select * from calss where calssid='" + content + "'";
看L31和L32,以及联系你的calss表的calssid列没有数据是0的。
额外:班级是class

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧