- JDBC
package JDBC;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class Demo05 {
public Object[][] table() {
Object[][] data = new String[20][3];
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "SELECT NAME, id, pass FROM `users` WHERE TYPE = ?";//编写sql
st = conn.prepareStatement(sql);//预编译
st.setString(1,"2");
rs = st.executeQuery();//执行
for (int i=0; rs.next(); i++){
data[i][0] = rs.getString("name");
data[i][1] = rs.getString("id");
data[i][2] = rs.getString("pass");
}
return data;
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
JdbcUtils.release(conn, st, rs);
}
return data;
}
}
}
- 放入面板
package UI;
import JDBC.Demo05;
import JDBC.Person;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class UI14 {
public void showUI(){
JFrame jFrame = new JFrame("管理考生");
jFrame.setSize(1000,800);//大小
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jFrame.setLocationRelativeTo(null);//居中
jFrame.setResizable(false);
//创建面板
JPanel panel = new JPanel();
//表格
Object[] columnNames = {"姓名","账号","密码"};//表头
Object[][] data = new Demo05().table();//JDBC获取表内容
JTable table = new JTable(data, columnNames);//表头和内容放入表
table.setRowHeight(40);//设置行高
table.setPreferredScrollableViewportSize(new Dimension(950,650));//整张表的大小
JScrollPane scrollPane = new JScrollPane(table);//给表整一个滑轮
panel.add(scrollPane);//把表放入面板
//组件
JButton button = new JButton("[返回]");
//添加
panel.add(button);
//事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new UI12().showUI(Person.name, Person.myid);
jFrame.dispose();
}
});
//显示
jFrame.setContentPane(panel);
jFrame.setVisible(true);
}
}
- 下面是废话
读取数据库数据时, 我数据库只有3条, 但是我建了个行数为20的二维数组, 要万一数据库数据大于21怎么办? 不知道, 懒, 那就建一个行数为100000的二维数组, 或者复杂点, 获取一下数据库行数, 再建数组, 不过太麻烦, 那就建一个大数组吧
只能查看学生信息, 怎么点进去看学生的考试记录, 不知道
我的表字段都是字符串类型, 省事
这里明明预编译没啥用了, 还用预编译, 因为之前调太多一直错一直错, 为了避免再出错, 所以用预编译糊弄. 还要数据读取到二维数组, 我这里数组可以用String了, 但是用的是Object, 是因为之前调太多次了一直错一直错一直错, 错误点太多了, 是其他的错误呢, 还是错在了二维数组的类型呢, 不想控制变量找了, 干脆管是不是类型的错, 直接改成大类型
- 图
sqlyog

javaswing


2278

被折叠的 条评论
为什么被折叠?



