package admin;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class Addstu extends JPanel implements ActionListener{
JTextField sn,sna,sde,scl,sse,sag ;
JButton 录入;
public Addstu() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e) {
System.out.println("不能设置外观: "+e);}
sn = new JTextField(12);
sna = new JTextField(12);
sde = new JTextField(12);
scl = new JTextField(12);
sse = new JTextField(12);
sag = new JTextField(12);
录入 = new JButton("录入");
录入.addActionListener(this);
//盒子布局,分水平和垂直
Box box1 = Box.createHorizontalBox();//横放box
Box box2 = Box.createHorizontalBox();
Box box3 = Box.createHorizontalBox();
Box box4 = Box.createHorizontalBox();
Box box5 = Box.createHorizontalBox();
Box box6 = Box.createHorizontalBox();
Box box7 = Box.createHorizontalBox();
box1.add(new JLabel("学号:"/*,JLabel.CENTER*/));
box1.add(sn);
box2.add(new JLabel("姓名:"/*,JLabel.CENTER*/));
box2.add(sna);
box3.add(new JLabel("专业:"/*,JLabel.CENTER*/));
box3.add(sde);
box4.add(new JLabel("班级:"/*,JLabel.CENTER*/));
box4.add(scl);
box5.add(new JLabel("性别:"/*,JLabel.CENTER*/));
box5.add(sse);
box6.add(new JLabel("年龄:"/*,JLabel.CENTER*/));
box6.add(sag);
box7.add(录入);
Box boxH = Box.createVerticalBox();//垂直方式布局
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(box7);
boxH.add(Box.createVerticalGlue());
JPanel messPanel = new JPanel();
messPanel.add(boxH);
setLayout(new BorderLayout());
add(messPanel,BorderLayout.CENTER);
validate();
}
//这是一个事件监听器,可以处理类似单击鼠标时触发的事件 ActionEvent就是一个事件类,传入的e就是该事件的对象
public void actionPerformed(ActionEvent c) {
// TODO Auto-generated method stub
Object obj = c.getSource();
if(obj== 录入) {
if(sn.getText().equals("")||sna.getText().equals("")||sde.getText().equals("")||scl.getText().equals("")||sse.getText().equals("")||sag.getText().equals(""))
{JOptionPane.showMessageDialog(this, "学生信息请填满再录入");}
Connection dbConn1 = CONN();
Statement stmt = null;
ResultSet rs1= null;
String sql ,sql1;
sql1 = "select * from stu1 where sno='"+sn.getText()+"'";
sql = "inster into stu1 values('"+sn.getText()+"','"+sna.getText()+"','"+sde.getText()+"','"+scl.getText()+"','"+sse.getText()+"','"+sag.getText()+"')";
try {
stmt=dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs1 =stmt.executeQuery(sql1);
if(rs1.next()) {
JOptionPane.showMessageDialog(this, "该学号已存在,无法添加");
}
else {
stmt.executeUpdate(sql);
JOptionPane.showMessageDialog(this, "添加成功");
}
rs1.close();
stmt.close();
}catch(SQLException e) {
System.out.println("SQL Exception occur.Message is:"+e.getMessage());
}
}
}
public static Connection CONN() {
// TODO Auto-generated method stub
Connection dbconn = null;
String driverName = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名student
String dburl = "jdbc:mysql://127.0.0.1:3306/student?useSSL=false";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "yuguangliang@521";
try { // 加载驱动程序
Class.forName(driverName);
// 连续数据库
Connection conn = DriverManager.getConnection(dburl, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
}catch(Exception e) {
e.printStackTrace();
}
return dbconn;
}
}
、
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at 数据库设计/admin.Addstu.actionPerformed(Addstu.java:90)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)