C/S结构设计数据库宿舍管理系统
主要利用Java.swing与sql server设计的宿舍管理系统,存在一些问题欢迎指正。
数据库设置
连接数据库(JDBC)
如何连接数据库请看:https://blog.csdn/weixin_45330449/article/details/107207913
package GUIdemo1;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBconnect {
Connection dbConn;
public DBconnect(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SSGL";
dbConn = DriverManager.getConnection(dbURL, "sa", "sa");
}catch(Exception ei) {
ei.printStackTrace();
System.out.println("连接数据库失败!");
}
}
}
界面设置
mainDisp类:
public class mainDisp extends JFrame{
JButton jb1,jb2;
JPanel jp1,jp2,jp3;
JLabel jl1,jl2;
DBconnect DB = new DBconnect();
public mainDisp() {
super();
jb1=new JButton("宿管");
jb2=new JButton("学生");
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jl1=new JLabel("宿舍管理系统");
jl2=new JLabel("请选择登录身份");
jl1.setFont(new Font("华文宋体",Font.BOLD|Font.PLAIN,40));
jl1.setForeground(Color.black);
jl2.setFont(new Font("华文宋体",Font.BOLD|Font.PLAIN,20));
jl2.setForeground(Color.blue);
jp1.add(jl1);
jp2.add(jl2);
jp3.add(jb1);
jp3.add(jb2);
setLayout(new GridLayout(3,1));
add(jp1);
add(jp2);
add(jp3);
setTitle("用户登录");
setSize(400,300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
new dormitoryLogin();
}});
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
new studentLogin();
}});
}
public static void main(String[] args) {
new mainDisp();
}
}
dormSearch类:
class dormSearch extends JDialog implements ActionListener {
private JTextField jt;
private JButton jb;
private JComboBox cmb;
private JPanel jp;
private JTable table;
private DefaultTableModel model;
private DBconnect DB = new DBconnect();
private String[] srr={"---请选择查询方式---","按宿舍查询","按学号查询"};
public dormSearch(){
super();
setLayout(new BorderLayout());
setTitle("入住信息查询");
setSize(500,300);
setLocationRelativeTo(null);
jt=new JTextField(10);
jb = new JButton("查询");
jp = new JPanel();
model=new DefaultTableModel();
table=new JTable();
table.setModel(model);
JScrollPane jsp=new JScrollPane(table);
cmb = new JComboBox(srr);
add(jp,BorderLayout.NORTH);
add(jsp,BorderLayout.CENTER);
jp.add(cmb);
jp.add(jt);
jp.add(jb);
jb.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (cmb.getSelectedIndex()==2) {
model.setRowCount(0);
model.setColumnCount(0);
try {
String str1=jt.getText();
String sql = "select * from stay_info where Stu_num="+str1;
Statement statement = DB.dbConn.createStatement();
ResultSet res=statement.executeQuery(sql);
//获取表中列数及列名,作为表格组件的标题
ResultSetMetaData rsmd=res.getMetaData();
//获得列数
int count=rsmd.getColumnCount();
将列名添加到表格模型作为标题
for(int i=1;i<=count;i++){
model.addColumn(rsmd.getColumnName(i));
}
String[] row=new String[count];
while(res.next()){
for(int i=0;i<count;i++)
row[i]=res.getString(i+1);
//增加一行
model.addRow(row);
}
res.close();
} catch (Exception ei) {
ei.printStackTrace();
}
}
else if (cmb.getSelectedIndex()==1){
model.setRowCount(0);
model.setColumnCount(0);
try {
String str1=jt.getText();
String sql="select * from stay_info where Dorm_num="+str1;
Statement statement=DB.dbConn.createStatement();
ResultSet res=statement.executeQuery(sql);
//获取表中列数及列名,作为表格组件的标题
ResultSetMetaData rsmd=res.getMetaData();
//获得列数
int count=rsmd.getColumnCount();
将列名添加到表格模型作为标题
for(int i=1;i<=count;i++){
model.addColumn(rsmd.getColumnName(i));
}
String[] row=new String[count];
while(res.next()){
for(int i=0;i<count;i++)
row[i]=res.getString(i+1);
//增加一行
model.addRow(row);
}
res.close();
}catch(Exception ei) {
ei.printStackTrace();
}
}
}
}
效果:
程序下载:https://download.csdn/download/weixin_45330449/12589569
GitHub下载:https://github/As-Zach/Demo/blob/master/GUIdemo.zip
更多推荐
数据库宿舍管理系统
发布评论