import java.util.*;
import java.sql.*;
import java.io.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class MyAccess extends JFrame implements ActionListener,ListSelectionListener
{
 private static Connection conn;
 private static Statement comm;
 private static ResultSet rs;
 private static int total=0,k=10,row=0,i=0;
 JLabel jl,jl2;
 JTable jt;
 JTextField jid,jname,jscore,se;
 static JButton go,add,drop,del,jbse,flush;
 JFrame jf;
 JScrollPane s;
 Vector vect=new Vector();
 String[] data = {"å¦å·=","å¦å·>","å¦å·<", "å§“å=", "分数=","分数>=","分数<"};
  JComboBox dataList = new JComboBox(data);
 String[] columnNames = {"å¦å·","å§“å","分数"};
 AbstractTableModel tm = new AbstractTableModel()
 {
         public int getColumnCount(){ return 3;}
         public int getRowCount(){ return k;}
         public Object getValueAt(int row, int col){ return ((Vector)vect.get(row)).get(col); }
         public String getColumnName(int column){   return columnNames[column];  }
     };
Â
 public MyAccess()
 {
  jf=new JFrame("考感å¦é™¢04¾U§JAVAæˆç‡W½Ž¡ç†¾pÈ»Ÿ");
  jf.setSize(490,570);
  jf.locate(200,200);
  jf.setResizable(false);
  jf.getContentPane().setLayout(new FlowLayout());Â
  jl=new JLabel("考感å¦é™¢04¾U§JAVAæˆç‡W");
  jid=new JTextField(6);
  jname=new JTextField(5);
  jscore=new JTextField(3);
  se=new JTextField(9);
  go=new JButton("分数(�>�");
  go.addActionListener(this);
  add=new JButton("æ·ÕdŠ ");
  add.addActionListener(this);
  drop=new JButton("修改");
  drop.addActionListener(this);
  del=new JButton("åˆ é™¤");
  del.addActionListener(this);
  jbse=new JButton("æœçƒ¦");
  jbse.addActionListener(this);
  flush=new JButton("åˆäh–°");
  flush.addActionListener(this);
  jl2=new JLabel("");
  jl2.setForeground(Color.red);
  jf.getContentPane().add(jl);
  jt=new JTable(tm);
  jt.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  this.jt.getSelectionModel().addListSelectionListener(this);
 Â
 Â
  s = new JScrollPane(jt); Â
  jf.getContentPane().add(s);
  jf.getContentPane().add(new JLabel("å¦å·:"));
  jf.getContentPane().add(jid);
  jf.getContentPane().add(new JLabel("å§“å:"));
  jf.getContentPane().add(jname);
  jf.getContentPane().add(new JLabel("分数:"));
  jf.getContentPane().add(jscore);
  jf.getContentPane().add(add);
  jf.getContentPane().add(drop);
  jf.getContentPane().add(del);
  jf.getContentPane().add(new JLabel("æœçƒ¦å¦ç”Ÿ:"));
  jf.getContentPane().add(dataList);
  jf.getContentPane().add(se);
  jf.getContentPane().add(jbse);
  jf.getContentPane().add(flush);
  jf.getContentPane().add(go);
  jf.getContentPane().add(jl2);
 Â
 }
public void exce(String exce)
{
 try
 { this.jt.getSelectionModel().removeListSelectionListener(this);
  rs = execQuery(exce);
  vect.removeAllElements();
  tm.fireTableDataChanged();
  total=0;
  while(rs.next())
  {Â
   Vector rec_vector=new Vector();
   rec_vector.addElement(rs.getString(1));
   rec_vector.addElement(rs.getString(2));
   rec_vector.addElement(rs.getString(3));
   vect.addElement(rec_vector);
     total++;    Â
  }
  k=total;
  this.closeDB();
  System.out.println("vectæ˜¯é¢æœ?+total+"记录执行æ“作");
  System.out.println("æˆåŠŸæ‰§è¡Œ:"+exce);
  this.jt.getSelectionModel().addListSelectionListener(this); Â
   Â
 }
 catch(Exception ee)
 {
  jl2.setText("æ— æ³•æ‰§è¡Œ,请填入棼‹®çš„æ•°æ®");
  System.out.println("执行å¤ÞpÓ|,å¯èƒ½æŸ¥è¯¢ä¸ºç©º");
  k=0;
 Â
 }
}
public void excesql(String sql)
{
 try
 {
 conBuild();
 Statement stm=conn.createStatement();
 stm.executeUpdate(sql);
 jf.repaint();
 jl2.setText("æ“作已执è¡?);
 System.out.println("æˆåŠŸæ‰§è¡Œ:"+sql);
 this.closeDB();
 }
 catch(Exception ee)
 {
  jl2.setText("æ— æ³•æ‰§è¡Œ,请填入棼‹®çš„æ•°æ®");
  System.out.println(sql+"æ— æ³•æ‰§è¡Œ");
 }
}Â
public static void regDriver()//register JDBC 桥接 driver
{
     try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();//关键å?
     System.out.println("驱动注册æˆåŠŸ");
     }
      catch(Exception e)
    {
   System.out.println("æ— æ³•åˆ›å¾é©±åЍ½E‹åºå®žä½“!");
  }
}
  //建立数æ®åº“连æŽ?br />public static void conBuild()//建立JDBC˜qžæŽ¥
 {
  try{
    MyAccess.regDriver();
    conn=DriverManager.getConnection("jdbc:odbc:myDSN","","");//关键å?
    conn.setAutoCommit(true);
    System.out.println("æˆåŠŸ˜qžæŽ¥æ•°æ®åº?);
    }
    catch(Exception e)
    {
     System.out.println(e.getMessage()) ;
     System.out.println("æ— æ³•˜qžæŽ¥æ•°æ®åº“Connection!åQŒè¿è¡Œä¹‹å‰è¯·å…ˆè®¾¾|®æ•°æ®æº MyDSN");
    }
}
 public static ResultSet execQuery(String stmt1)//执行查询è¯å¥
   {
    try{
   conBuild();
     comm=conn.createStatement();
     rs=comm.executeQuery(stmt1);
     return rs;
    }
    catch(Exception e)
     {
      System.out.println("æ— æ³•åˆ›å¾Statement!");return null;
     }
}Â Â Â
public static void closeDB()
{
       try{
         comm.close();
         conn.close();
         System.out.println("å…³é—记录集,æ–开数æ®åº?);
         }
         catch(Exception e)
        {
         System.out.println(e.getMessage());
        }
 }
public void actionPerformed(ActionEvent ee)// 实现ActionListenerä¸çš„唯一æ–ÒŽ(gu¨©)³•
{
 if(ee.getSource()==go)
 {
  try
  {
  Â
   if(i==0)
   {
    exce("SELECT * FROM æˆç‡W order by 分数");
    i=1;Â
    go.setText("分数(�>�");
   }
   else
   {
    exce("SELECT * FROM æˆç‡W order by 分数 desc");
    i=0;
    go.setText("分数(ä½?>é«?");Â
   }
  Â
   jl2.setText("已按分数排åº");
     Â
  }
  catch(Exception go)
  {
   System.out.println("出现错误");
   jl2.setText("æç¤º:出现错误");
  }
 Â
 Â
 }
 if(ee.getSource()==add)
 {
  this.excesql("insert into æˆç‡W values('"+jid.getText()+"','"+jname.getText()+"','"+jscore.getText()+"')");
  exce("SELECT * FROM æˆç‡W order by å¦å·");
  jid.setText("");
  jname.setText("");
  jscore.setText("");
  jf.repaint();
   Â
  System.out.println("执行æ·ÕdŠ æ“作");
 Â
  Â
 }
 if(ee.getSource()==drop)
 {
  this.excesql("update æˆç‡W set å§“å='"+jname.getText()+"' ,分数="+jscore.getText()+" where å¦å·='"+jid.getText()+"'" );
  exce("SELECT * FROM æˆç‡W order by å¦å·");Â
Â
 }
 if(ee.getSource()==del)
 {
  this.excesql("delete from æˆç‡W where å¦å·='"+jid.getText()+"'");
  exce("SELECT * FROM æˆç‡W order by å¦å·");
  jl2.setText("æç¤º:æˆåŠŸåˆ é™¤IDä¸?+jid.getText()+"的数æ?);
  System.out.println("æ‰§è¡Œåˆ é™¤æ“作");Â
  Â
 }
 if(ee.getSource()==jbse)
 {
  if(dataList.getSelectedIndex()>=4)
  {
    String sql="SELECT * FROM æˆç‡W WHERE "+dataList.getSelectedItem()+se.getText();
   exce(sql);
  }
  else
  {
   String sql="SELECT * FROM æˆç‡W WHERE "+dataList.getSelectedItem()+"'"+se.getText()+"'";
   exce(sql);
  }
  jl2.setText("æœçƒ¦¾l“æžœ:å…?+k+"æ¡æ•°æ?);
  System.out.println(k+"执行æœçƒ¦æ“作");
 Â
  jf.repaint();
 }
Â
 if(ee.getSource()==flush)
 {
  exce("SELECT * FROM æˆç‡W order by å¦å·");
  jid.setText("");
  jname.setText("");
  jscore.setText("");
  se.setText("");
  jf.repaint();
  jl2.setText("æç¤º:åˆäh–°æˆåŠŸ");
 Â
 }
Â
}
public void valueChanged(ListSelectionEvent el) //æ¯å½“选择值å‘生更æ”ÒŽ(gu¨©)—¶è°ƒç”¨ã€?
{
  row=0;
  row=jt.getSelectedRow();
  if(row<0) row=0; Â
  Object row_id=jt.getValueAt(row,0);
  Object row_name=jt.getValueAt(row,1);
  Object row_score=jt.getValueAt(row,2);
 Â
  jid.setText(row_id.toString());
  jname.setText(row_name.toString());
  jscore.setText(row_score.toString());
  System.out.println("选择已改å?+k+" "+total);
 Â
 Â
}
public static void main(String s[])
     {
    MyAccess ma=new MyAccess();
  ma.exce("SELECT * FROM æˆç‡W order by å¦å·");
    ma.jf.setVisible(true);
   Â
     }
}
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class yc extends JFrame
{
 public static JLabel jl1,jl2;
 public static TextArea ta1,ta2;
 public static JButton jb1,jb2;
 public static Container cp1;
 static Socket svr;
 public static PrintWriter out;
Â
Â
 public static void main(String arg[])
 {
  JFrame jf=new JFrame("ä¸Žå°æ–°èŠå¤?-VIP            客户ç«?);
  jf.setSize(500,450);
  jf.setResizable(false);
  jf.locate(100,100);
//Â Â cp1=getContentPane();
  jl1=new JLabel("˜qžæŽ¥ä¸?...");
  ta1=new TextArea();
  ta2=new TextArea();
  jb1=new JButton("å‘é€?);
  jb1.addActionListener(new Listener());
  jb2=new JButton("清空");
  jb2.addActionListener(new Listener());
  jf.getContentPane().setLayout(new FlowLayout());
  jf.getContentPane().add(jl1);
   jf.getContentPane().add(ta1);
   jf.getContentPane().add(ta2);
   jf.getContentPane().add(jb1);
   jf.getContentPane().add(jb2);
  Â
  jf.setVisible(true);
  try
  {
   target2 outmsg2=new target2();
   Thread outthread2=new Thread(outmsg2);
   outthread2.start();
   QQ();
  Â
  Â
  }
  catch(Exception e)
  {
  Â
  }
 Â
 Â
 }
Â
static void QQ()throws Exception
{
 System.out.println("æ£åœ¨˜qžæŽ¥æœåŠ¡å™?è¯ïL(f¨¥ng)¨å€?..");
 //与指定地å€çš„æœåŠ¡å™¨ç›¸è¿žæŽ?br /> svr=new Socket("127.0.0.1",3300);//è¦è¿žæŽ¥è¿œ½E‹ä¸»æœø™¯·å¡«IP
 //svr=new Socket(InetAddress.getLocalHost(),3300)
 jl1.setText("ä¸?+svr.getInetAddress()+"˜qžæŽ¥æˆåŠŸ!误‚¾“凸™¦ä¼ é€çš„ä¿¡æ¯...");
 }
Â
Â
}
Â
 class Listener implements ActionListener{
  public void actionPerformed(ActionEvent e)
  {
  Â
   if(e.getSource()==yc.jb2)
    {
      yc.ta1.setText("");
    }
   Â
   else
   {
    try
   {
   Â
    yc.out=new PrintWriter(yc.svr.getOutputStream());
    yc.out.println(yc.ta2.getText());
    yc.out.flush();
    yc.ta1.append("[自己]�\n"+yc.ta2.getText()+"\n");
    yc.ta2.setText("");
Â
  Â
   }
    catch(Exception ee)
    {
    Â
    }
   Â
   }
  Â
   Â
   Â
  }
 }
Â
Â
Â
Â
class target2 implements Runnable
{
 public void run()
 {
  Â
   while(true)
   {
   Â
   try
   {
   Â
   BufferedReader in=new BufferedReader(new InputStreamReader(yc.svr.getInputStream()));
    String str=in.readLine();
     str="[æœåŠ¡ç«?+yc.svr.getInetAddress()+"]è¯?\n"+str;
     yc.ta1.append(str+"\n");
   }
  Â
   catch(Exception ee)
   {
    ;
   }Â
   Â
   Â
   Â
    }
 }
}
Â
Â
Â
———————————————————————————————�/p>
Â
Â
//QQæœåŠ¡ç«?/p>
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class ycserver extends JFrame
{
 public static JLabel jl1;
 public static TextArea ta1,ta2;
 public static JButton jb1,jb2;
 public static Container cp1;
 public static ServerSocket svr;Â
 public static Socket clt;
 public static Thread thread;
 public static int i=0;
Â
 Â
 public static void main(String arg[])
 {
  JFrame jf=new JFrame("与æ¨å½©èŠå¤?-VIP           æœåŠ¡ç«?);
  jf.setSize(500,450);
  jf.locate(200,200);
  jf.setResizable(false);
  ta1=new TextArea();
  ta2=new TextArea();
  jb1=new JButton("å‘é€?);
  jb2=new JButton("清空");
  jl1=new JLabel("½{‰å¾…˜qžæŽ¥");
  jb1.addActionListener(new jb1Listener());
  jb2.addActionListener(new jb1Listener());
  jf.getContentPane().setLayout(new FlowLayout());
  jf.getContentPane().add(jl1);
   jf.getContentPane().add(ta1);
   jf.getContentPane().add(ta2);
   jf.getContentPane().add(jb1);
   jf.getContentPane().add(jb2);
  Â
  jf.setVisible(true);
  try
  {
   target outmsg=new target();
   Thread outthread=new Thread(outmsg);
   outthread.start();
  Â
   wait wait1=new wait();
   Thread waitthread=new Thread(wait1);
   waitthread.start();
  Â
   QQ();
  Â
  }
  catch(Exception e)
  {
  Â
  }
 Â
 Â
 }
Â
Â
static void QQ()throws Exception
{/*
 //建立æœåŠ¡å™¨å¥—èŠ‚å—
 svr=new ServerSocket(3300);
 System.out.println("½{‰å¾…˜qžæŽ¥....");
 //½{‰å¾…客户机接å…?br />  clt=svr.accept();
   i++;
   ta1.setText(i+"");
 //获得客户IP地å€
 System.out.println("˜qžæŽ¥è¯äh±‚æ¥è‡ª:"+clt.getInetAddress());
 jl1.setText("˜qžæŽ¥è¯äh±‚æ¥è‡ª:"+clt.getInetAddress());
 //建立I/O‹¹?br /> */
  }
 Â
 }
Â
Â
 class jb1Listener implements ActionListener
 {
  public void actionPerformed(ActionEvent e)
  {
   if(e.getSource()==ycserver.jb2)
   {
    ycserver.ta1.setText("");
   }
  Â
   else
   {
    try
   {
        Â
   PrintWriter out=new PrintWriter(ycserver.clt.getOutputStream());
   out.println(ycserver.ta2.getText());
   out.flush();
    ycserver.ta1.append("[自己]�\n"+ycserver.ta2.getText()+"\n");
    ycserver.ta2.setText("");
Â
  Â
   }
    catch(Exception ee)
    {
    Â
    }
   }
 Â
  }
 }
Â
class target implements Runnable
{
 public void run()
 {
  Â
   while(true)
   {
   Â
   try
   {   Â
   BufferedReader in=new BufferedReader(new InputStreamReader(ycserver.clt.getInputStream()));
    String str=in.readLine();
     str="[客户端在"+ycserver.clt.getInetAddress()+"]�\n"+str;
     ycserver.ta1.append(str+"\n");
   }
  Â
   catch(Exception ee)
   {
    ;
   }Â
   Â
   Â
   Â
    }
 }
}
Â
class wait implements Runnable
{
 public void run()
 {
  Â
   while(true)
   {
   Â
   try
   {   Â
   //建立æœåŠ¡å™¨å¥—èŠ‚å—
 ycserver.svr=new ServerSocket(3300);
 System.out.println("½{‰å¾…˜qžæŽ¥....");
 //½{‰å¾…客户机接å…?br />  ycserver.clt=ycserver.svr.accept();
   ycserver.i+=2;
   ycserver.ta1.setText(ycserver.i+"");
 //获得客户IP地å€
 System.out.println("˜qžæŽ¥è¯äh±‚æ¥è‡ª:"+ycserver.clt.getInetAddress());
 ycserver.jl1.setText("˜qžæŽ¥è¯äh±‚æ¥è‡ª:"+ycserver.clt.getInetAddress());
 //建立I/O‹¹?br />   }
  Â
   catch(Exception ee)
   {
    ;
   }Â
   Â
   Â
   Â
    }
 }
}
Â
Â
Â