import java.awt.BorderLayout;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
public class Test extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTable jTable = null; // @jve:decl-index=0:visual-constraint="334,10"
private JButton jButton = null;
private JToolBar jToolBar = null;
private JButton jButton1 = null;
private JButton jButton11 = null;
private JButton jButton12 = null;
private JDialog jDialog = null; // @jve:decl-index=0:visual-constraint="337,109"
private JPanel jContentPane1 = null;
private JTextField jTextField = null;
private JLabel jLabel = null;
private JDesktopPane jDesktopPane = null;
private JLabel jLabel1 = null;
private JTextField jTextField1 = null;
private JTextField jTextField2 = null;
private JLabel jLabel11 = null;
private JLabel jLabel12 = null;
private JTextField jTextField21 = null;
private JButton jButton2 = null;
private JLabel jLabel2 = null;
/**
* This is the default constructor
*/
public Test() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(314, 294);
this.setLocation(new Point(400, 200));
this.setContentPane(getJContentPane());
this.setTitle("操作数据库");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
BorderLayout borderLayout = new BorderLayout();
borderLayout.setHgap(1);
jContentPane = new JPanel();
jContentPane.setLayout(borderLayout);
jContentPane.add(getJToolBar(), BorderLayout.NORTH);
}
return jContentPane;
}
/**
*
* This method initializes jToolBar
*
* @return javax.swing.JToolBar
*/
private JToolBar getJToolBar() {
if (jToolBar == null) {
jToolBar = new JToolBar();
jToolBar.add(getJButton());
jToolBar.add(getJButton1());
jToolBar.add(getJButton11());
jToolBar.add(getJButton12());
}
return jToolBar;
}
/**
* 查询 This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setVerticalAlignment(SwingConstants.TOP);
jButton.setHorizontalAlignment(SwingConstants.LEFT);
jButton.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
jButton.setText("查询");
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
SelectData();
}
});
}
return jButton;
}
public void SelectData()
{
// 连接数据库
try {
// Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/* 这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下 */
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=access\\test.mdb";
Connection con = DriverManager.getConnection(dbUrl, "",
"");
Statement state = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// 执行SQL语句
String sql = "select * from score";
ResultSet rs = state.executeQuery(sql);
displayResultSet(rs);
rs.close();
state.close();
con.close();
jTable.revalidate();
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 添加 This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setPreferredSize(new Dimension(77, 30));
jButton1.setText("添加");
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
getJDialog();
jDialog.setVisible(true);
jDialog.setLocation(450, 250);
jDialog.setTitle("添加");
}
});
}
return jButton1;
}
/**
* 修改 This method initializes jButton11
*
* @return javax.swing.JButton
*/
private JButton getJButton11() {
if (jButton11 == null) {
jButton11 = new JButton();
jButton11.setPreferredSize(new Dimension(77, 30));
jButton11.setText("修改");
jButton11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
if (jTable.getSelectedRow() != -1) {
getJDialog();
jDialog.setVisible(true);
jDialog.setLocation(450, 250);
jDialog.setTitle("修改");
jLabel2.setText((jTable.getModel().getValueAt(jTable
.getSelectedRow(), 0)).toString());// 讲选择行的ID传过去
jTextField.setText((jTable.getModel().getValueAt(jTable
.getSelectedRow(), 1)).toString());// 姓名
jTextField1.setText((jTable.getModel().getValueAt(
jTable.getSelectedRow(), 2)).toString());// 语文
jTextField2.setText((jTable.getModel().getValueAt(
jTable.getSelectedRow(), 3)).toString());// 数学
jTextField21.setText((jTable.getModel().getValueAt(
jTable.getSelectedRow(), 4)).toString());// 英语
} else {
JOptionPane.showMessageDialog(null, "请选择需要修改的行!");
}
}
});
}
return jButton11;
}
/**
* 删除 This method initializes jButton12
*
* @return javax.swing.JButton
*/
private JButton getJButton12() {
if (jButton12 == null) {
jButton12 = new JButton();
jButton12.setPreferredSize(new Dimension(77, 30));
jButton12.setText("删除");
jButton12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
if (jTable.getSelectedRow() != -1) {
String ID = (jTable.getModel().getValueAt(jTable
.getSelectedRow(), 0)).toString();
// 连接数据库
try {
// Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/* 这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下 */
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=access\\test.mdb";
Connection con = DriverManager.getConnection(dbUrl,
"", "");
// SQL语句
String sql = "delete from score where ID="
+ Integer.parseInt(ID) + "";
Statement state = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// 执行SQL语句
state.execute(sql);
state.close();
con.close();
JOptionPane.showMessageDialog(null, "删除成功!");
SelectData();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "删除出错!"
+ ex.toString());
}
} else {
JOptionPane.showMessageDialog(null, "请选择需要删除的行!");
}
}
});
}
return jButton12;
}
/**
* This method initializes jDialog
*
* @return javax.swing.JDialog
*/
private JDialog getJDialog() {
if (jDialog == null) {
jDialog = new
- 1
- 2
- 3
- 4
前往页