📄 scoremanager.java
字号:
import java.rmi.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.table.TableModel;
import java.sql.*;
class ResultSetTableModel extends AbstractTableModel
{
protected Vector columnHeaders;
protected Vector tableData;
String str[]={"学生ID","姓名","计算机","电子商务","英语成绩","物流管理","VB程序设计"};
public ResultSetTableModel(ResultSet rset) throws SQLException
{
Vector rowData;
ResultSetMetaData rsmd=rset.getMetaData();
int count=rsmd.getColumnCount();
columnHeaders=new Vector(count);
tableData=new Vector();
for(int i=1;i<=count;i++)
{
columnHeaders.addElement(rsmd.getColumnName(i));
}
while(rset.next())
{
rowData=new Vector(count);
for(int i=1;i<=count;i++)
{
rowData.addElement(rset.getObject(i));
}
tableData.addElement(rowData);
}
}
/*public getHeader()
{
String[] header={"学生ID","姓名","计算机","电子商务","英语成绩","物流管理","VB程序设计"};
return header;
}*/
public int getColumnCount()
{
return str.length;
}
public int getRowCount()
{
return tableData.size();
}
public Object getValueAt(int row,int column)
{
Vector rowData=(Vector)(tableData.elementAt(row));
return rowData.elementAt(column);
}
public boolean isCellEdittable(int row,int column)
{
return false;
}
public String getColumnName(int column)
{
return str[column];
}
}
public class ScoreManager extends JFrame
{
Connection conn=null;
PreparedStatement pstmt=null;
JTable table;
//相关标签
//String str[]={"学生ID","姓名","计算机","电子商务","英语成绩","物流管理","VB程序设计"};
JLabel lblStudentID = new JLabel("学生ID:");
JLabel lblStudentNAME = new JLabel("学生姓名:");
JLabel lblScoueCU = new JLabel("计算机运用:");
JLabel lblScoueEC = new JLabel("电子商务:");
JLabel lblScoueEN = new JLabel("英语:");
JLabel lblScoueWL = new JLabel("物流管理:");
JLabel lblScoueVB = new JLabel("VB程序设计:");
//相关输入框
JTextField txtStudentID = new JTextField(50);
JTextField txtStudentNAME = new JTextField(50);
JTextField txtScoueCU = new JTextField(50);
JTextField txtScoueEC = new JTextField(50);
JTextField txtScoueEN = new JTextField(50);
JTextField txtScoueWL = new JTextField(50);
JTextField txtScoueVB = new JTextField(50);
//功能按妞
JButton btnAdd = new JButton("增 加");
JButton btnDelete = new JButton("删 除");
JButton btnUpdate = new JButton("修 改");
JButton btnQuery = new JButton("查 询");
void select()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:mydatabase","sa","");
pstmt=conn.prepareStatement("select * from score_table");
ResultSet rs=pstmt.executeQuery();
TableModel dataModel = new AbstractTableModel()
{
public String[] getHeader()
{
String[] header={"学生ID","姓名","计算机","电子商务","英语成绩","物流管理","VB程序设计"};
return header;
}
public int getColumnCount()
{
return 10;
}
public int getRowCount()
{
return 10;
}
public Object getValueAt(int row, int col)
{
return new Integer(row*col);
}
/*public String getColumnName(int column)
{
return str[column];
}*/
};
table= new JTable(dataModel);
table.setModel(new ResultSetTableModel(rs));
table.setGridColor(Color.BLUE);
table.setLocation(8,9);
pstmt.close();
conn.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
public ScoreManager()
{
super("学生成绩管理");
JPanel p1 = new JPanel();
p1.setLayout(null);
p1.setBackground(Color.PINK);
getContentPane().add(p1);
select();
//往P1添加相关标签和添加相关输入框
lblStudentID.setBounds(70,20,50,20);
p1.add(lblStudentID);
txtStudentID.setBounds(120,20,150,20);
p1.add(txtStudentID);
lblStudentNAME.setBounds(300,20,80,20);
p1.add(lblStudentNAME);
txtStudentNAME.setBounds(363,20,150,20);
p1.add(txtStudentNAME);
lblScoueCU.setBounds(47,50,80,20);
p1.add(lblScoueCU);
txtScoueCU.setBounds(120,50,150,20);
p1.add(txtScoueCU);
lblScoueEC.setBounds(300,50,80,20);
p1.add(lblScoueEC);
txtScoueEC.setBounds(363,50,150,20);
p1.add(txtScoueEC);
lblScoueEN.setBounds(83,80,50,20);
p1.add(lblScoueEN);
txtScoueEN.setBounds(121,80,150,20);
p1.add(txtScoueEN);
lblScoueWL.setBounds(299,80,55,20);
p1.add(lblScoueWL);
txtScoueWL.setBounds(363,80,150,20);
p1.add(txtScoueWL);
lblScoueVB.setBounds(39,110,75,20);
p1.add(lblScoueVB);
txtScoueVB.setBounds(121,110,150,20);
p1.add(txtScoueVB);
//往P1添加功能按妞
btnAdd.setBounds(70,147,72,25);
p1.add(btnAdd);
btnDelete.setBounds(200,147,72,25);
p1.add(btnDelete);
btnUpdate.setBounds(330,147,72,25);
p1.add(btnUpdate);
btnQuery.setBounds(460,147,72,25);
p1.add(btnQuery);
//添加表格
JLabel lblInfo=new JLabel("学生成绩:");
lblInfo.setBounds(38,191,150,20);
p1.add(lblInfo);
table.setBounds(38,227,494,220);
p1.add(table);
this.setResizable(false);
setSize(580,500);
show();
btnAdd.addActionListener(new btnAdd_Listener());
}
public static void main(String args[])
{
new ScoreManager();
}
class btnAdd_Listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
try
{
String id=txtStudentID.getText();
String name=txtStudentNAME.getText();
double cu=Double.parseDouble(txtScoueCU.getText());
double ec=Double.parseDouble(txtScoueEC.getText());
double en=Double.parseDouble(txtScoueEN.getText());
double wl=Double.parseDouble(txtScoueWL.getText());
double vb=Double.parseDouble(txtScoueVB.getText());
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:mydatasource","sa","");
pstmt=conn.prepareStatement("insert score_table values(?,?,?,?,?,?,?)");
pstmt.setString(1,id);
pstmt.setString(2,name);
pstmt.setDouble(3,cu);
pstmt.setDouble(4,ec);
pstmt.setDouble(5,en);
pstmt.setDouble(6,wl);
pstmt.setDouble(7,vb);
int i=pstmt.executeUpdate();
if(i>0)
{
JOptionPane.showMessageDialog(null,"插入成功 !");
}
else
{
JOptionPane.showMessageDialog(null,"插入失败 !");
}
//table.setPreferredScrollableViewportSize(new Dimension(550,40));
//JScrollPane scroll=new JScrollPane(table);
//ResultSetTableModel rstm=new ResultSetTableModel(........);
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,"输入有误,插入失败 !");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -