📄 telbook.java
字号:
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.color.*;
public class TelBook extends JFrame{
private JButton JBDel,JBEdit,JBExit,JBFirst,JBLast,JBNew,JBNext,JBPrevious;
private JPanel JPButton1,JPButton2,JPDisplay,JPState,jPanel2;
private JLabel JLRec,jLabel1,jLabel2,jLabel3;
private JTextField JTMail,JTName,JTTel;
public Connection con;
public DatabaseMetaData dma;
public ResultSet rs;
public Statement stmt;
public int recnum;
public TelBook(){
JPDisplay=new JPanel();
jPanel2=new JPanel();
JPButton1=new JPanel();
JPButton2=new JPanel();
JPState=new JPanel();
JBPrevious=new JButton();
JBFirst=new JButton();
JBNext=new JButton();
JBLast=new JButton();
JBNew=new JButton();
JBDel=new JButton();
JBEdit=new JButton();
JBExit=new JButton();
jLabel1=new JLabel();
jLabel2=new JLabel();
jLabel3=new JLabel();
JLRec=new JLabel();
JTName=new JTextField();
JTTel=new JTextField();
JTMail=new JTextField();
getContentPane().setLayout(new GridLayout(2,2,20,0));
setTitle("程序");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
JPDisplay.setLayout(new GridLayout(3,2,10,10));
jLabel1.setText("姓名: ");
JPDisplay.add(jLabel1);
JTName.setEditable(false);
JPDisplay.add(JTName);
jLabel2.setText("电话号码: ");
JPDisplay.add(jLabel2);
JTTel.setEditable(false);
JPDisplay.add(JTTel);
jLabel3.setText("E-Mail: ");
JPDisplay.add(jLabel3);
JTMail.setEditable(false);
JPDisplay.add(JTMail);
getContentPane().add(JPDisplay);
jPanel2.setLayout(new GridLayout(3,1,10,10));
JLRec.setForeground(Color.red);
JPState.add(JLRec);
jPanel2.add(JPState);
JBFirst.setText("第一条");
JBFirst.setForeground(Color.blue);
JBFirst.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBFirstActionPerformed(evt);
}
});
JPButton1.add(JBFirst);
JBPrevious.setText("前一条");
JBPrevious.setForeground(Color.blue);
JBPrevious.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBPreviousActionPerformed(evt);
}
});
JPButton1.add(JBPrevious);
JBNext.setText("下一条");
JBNext.setForeground(Color.blue);
JBNext.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBNextActionPerformed(evt);
}
});
JPButton1.add(JBNext);
JBLast.setText("最后一条");
JBLast.setForeground(Color.blue);
JBLast.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent evt){
JBLastActionPerformed(evt);
}
});
JPButton1.add(JBLast);
jPanel2.add(JPButton1);
JPButton2.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
JBNew.setText("新增");
JBNew.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBNewActionPerformed(evt);
}
});
JPButton2.add(JBNew);
JBDel.setText("删除");
JBDel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBDelActionPerformed(evt);
}
});
JPButton2.add(JBDel);
JBEdit.setText("修改");
JBEdit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBEditActionPerformed(evt);
}
});
JPButton2.add(JBEdit);
JBExit.setText("退出");
JBExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
JBExitActionPerformed(evt);
}
});
JPButton2.add(JBExit);
jPanel2.add(JPButton2);
getContentPane().add(jPanel2);
pack();
}
private void JBExitActionPerformed(ActionEvent evt){
System.exit(0);
}
private void JBEditActionPerformed(ActionEvent evt){
if(JBEdit.getText()=="修改"){
JTName.setEditable(true);
JTTel.setEditable(true);
JTMail.setEditable(true);
JBEdit.setText("确定");
}
else{
String xm=JTName.getText();
String dh=JTTel.getText();
String em=JTMail.getText();
try{
long ID=rs.getLong("ID");
int IDi=(int)ID;
stmt.executeUpdate("update Tel set 姓名='"+xm+"',电话='"+dh+"',Email='"+em+"'where ID="+ID);
rs=stmt.executeQuery("select * from Tel");
rs.absolute(IDi);
dispResultSet(rs);
JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
JBEdit.setText("修改");
}catch(Exception e){;
}
}
}
private void JBDelActionPerformed(ActionEvent evt){
try{
long ID=rs.getLong("ID");
stmt.executeUpdate("delete from Tel where ID="+ID);
rs=stmt.executeQuery("select * from Tel");
rs.next();
dispResultSet(rs);
}catch(Exception e){;
}
}
private void JBNewActionPerformed(ActionEvent evt){
if(JBNew.getText()=="新增"){
JTName.setText("");JTName.setEditable(true);
JTTel.setText("");JTTel.setEditable(true);
JTMail.setText("");JTMail.setEditable(true);
JBNew.setText("确定");
}else{
String xm=JTName.getText();
String dh=JTTel.getText();
String em=JTMail.getText();
try{
stmt.executeUpdate("insert into Tel(姓名,电话,email)values('"+xm+"','"+dh+"','"+em+"')");
rs=stmt.executeQuery("select * from Tel");
rs.last();
dispResultSet(rs);
JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
}catch(Exception e){;
}
JBNew.setText("新增");
}
}
private void JBLastActionPerformed(ActionEvent evt){
try{JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
if(JBNew.getText()=="确定"){
JBNew.setText("新增");
}
if(JBEdit.getText()=="确定"){
JBEdit.setText("修改");
}
rs.last();dispResultSet(rs);
}catch(Exception e){System.out.println("Error :"+e);
}
}
private void JBNextActionPerformed(ActionEvent evt){
try{JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
if(JBNew.getText()=="确定"){
JBNew.setText("新增");
}
if(JBEdit.getText()=="确定"){
JBEdit.setText("修改");
}
if(!rs.next()) rs.first();
dispResultSet(rs);
}catch(Exception e){
System.out.println("Error: "+e);
}
}
private void JBPreviousActionPerformed(ActionEvent evt){
try{JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
if(JBNew.getText()=="确定"){
JBNew.setText("新增");
}
if(JBEdit.getText()=="确定"){
JBEdit.setText("修改");
}
if(!rs.previous()) rs.last();
dispResultSet(rs);
}catch(Exception e){
System.out.println("Error: "+e);
}
}
private void JBFirstActionPerformed(ActionEvent evt){
try{JTName.setEditable(false);
JTTel.setEditable(false);
JTMail.setEditable(false);
if(JBNew.getText()=="确定"){
JBNew.setText("新增");
}
if(JBEdit.getText()=="确定"){
JBEdit.setText("修改");
}
rs.first();dispResultSet(rs);
}catch(Exception e){
System.out.println("Error: "+e);
}
}
public static void main(String[] args)
{
TelBook TB1=new TelBook();
TB1.show();
String url="jdbc:odbc:TelBook";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
TB1.con=DriverManager.getConnection(url);
TB1.checkForWarning(TB1.con.getWarnings());
TB1.stmt=TB1.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
TB1.rs=TB1.stmt.executeQuery("select * from Tel");
TB1.rs.next();
TB1.dispResultSet(TB1.rs);
}catch(SQLException e){
System.out.println("SQLExcetion caught");
while(e!=null){
System.out.println("SQLState:"+e.getSQLState());
System.out.println("Message:"+e.getMessage());
System.out.println("Vendor:"+e.getErrorCode());
e=e.getNextException();
System.out.println("");
}
}catch(Exception e){
e.printStackTrace()
;
}
}
public boolean checkForWarning(SQLWarning warn)throws SQLException{
boolean rc=false;
dma=con.getMetaData();
System.out.println("Connected to:"+dma.getURL());
System.out.println("Driver:"+dma.getDriverName());
System.out.println("Version:"+dma.getDriverMinorVersion());
if(warn!=null){
System.out.println("Warning");
rc=true;
while(warn!=null)
{
System.out.println("SQLState:"+warn.getSQLState());
System.out.println("Message:"+warn.getMessage());
System.out.println("Vendor:"+warn.getErrorCode());
warn=warn.getNextWarning();
System.out.println("");
}
}
return rc;
}
public void dispResultSet(ResultSet rs)throws SQLException{
long ID=rs.getLong("ID");
JTName.setText(rs.getString("姓名"));
JTTel.setText(rs.getString("电话"));
JTMail.setText(rs.getString("Email"));
JLRec.setText("记录号: "+ID);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -