代码是这样的:
package com.test6;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.*;
public class Stu_addDiag extends JDialog implements ActionListener{
JLabel jl1 , jl2 , jl3 , jl4 , jl5 , jl6;
JButton jb1 , jb2;
JTextField jtf1 , jtf2 ,jtf3 ,jtf4 ,jtf5 ,jtf6;
JPanel jp1 , jp2 , jp3;
public Stu_addDiag(Frame owner,String title,boolean modal ){
/*
* owner - 显示该对话框的 Frame
title - 该对话框的标题栏中所显示的 String
modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,
则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。
* */
super(owner , title , modal);
jl1 = new JLabel("学号");
jl2 = new JLabel("姓名");
jl3 = new JLabel("年龄");
jl4 = new JLabel("专业");
jl5 = new JLabel("性别");
jl6 = new JLabel("籍贯");
jtf1 = new JTextField();
jtf2 = new JTextField();
jtf3 = new JTextField();
jtf4 = new JTextField();
jtf5 = new JTextField();
jtf6 = new JTextField();
jb1 = new JButton("确定");
jb2 = new JButton("取消");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
//设置布局
jp1.setLayout(new GridLayout(6 , 1));
jp2.setLayout(new GridLayout(6 , 1));
//添加组件
jp1.add(jl1);
jp1.add(jl2);
jp1.add(jl3);
jp1.add(jl4);
jp1.add(jl5);
jp1.add(jl6);
jp2.add(jtf1);
jp2.add(jtf2);
jp2.add(jtf3);
jp2.add(jtf4);
jp2.add(jtf5);
jp2.add(jtf6);
jp3.add(jb1);
jp3.add(jb2);
this.add(jp1 , BorderLayout.WEST);
this.add(jp2 , BorderLayout.CENTER);
this.add(jp3 , BorderLayout.SOUTH);
jb1.addActionListener(this);
this.setSize(300 , 200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource() == jb1){
Vector rowData , columnNames;
//定义操作数据库需要的东西
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ct = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:3569;databaseName=students" , "sa" , "123");
ps = ct.prepareStatement("insert into student values(?,?,?,?,?,?)");
ps.setString(1, jtf1.getText().trim());
ps.setString(2, jtf2.getText().trim());
ps.setInt(3, Integer.parseInt(jtf3.getText().trim()));
ps.setString(4, jtf4.getText().trim());
ps.setString(5, jtf5.getText().trim());
ps.setString(6, jtf6.getText().trim());
}catch(Exception ee){
ee.printStackTrace();
}finally{
try{
if(rs != null) rs.close();
if(ps != null) rs.close();
if(ct != null) rs.close();
}catch(Exception ee){
ee.printStackTrace();
}
}
}
}
}
错误:
java.lang.NullPointerException
at com.test6.Stu_addDiag.actionPerformed(Stu_addDiag.java:104)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1447)
at java.awt.Component.setVisible(Component.java:1400)
at java.awt.Window.setVisible(Window.java:824)
at java.awt.Dialog.setVisible(Dialog.java:986)
at com.test6.Stu_addDiag.<init>(Stu_addDiag.java:76)
at com.test6.test6.actionPerformed(test6.java:100)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
我的数据库有6个字段,赋值应该是没问题的!