通過socket訪問數(shù)據(jù)庫

字號:

通過Socket訪問數(shù)據(jù)庫
    Tip:通過socket訪問數(shù)據(jù)庫,分 Clinet, Display,sqlServer三個類
    Client.Java
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.Applet.*;
    public class Client extends Applet
    {
    public TextArea chat_txt;
    private TextField sql_txt;
    private Button connect,execute;
    private Socket soc= null;
    private PrintStream ps= null;
    Listen listen;
    public void init()
    {
    chat_txt= new TextArea();
    sql_txt= new TextField(20);
    connect= new Button("Connect");
    execute= new Button("Execute");
    execute.disable();
    Panel pp= new Panel();
    pp.setLayout(new FlowLayout());
    pp.add(sql_txt);
    pp.add(connect);
    pp.add(execute);
    add("North",pp);
    add("Center",chat_txt);
    }
    public boolean action(Event evt,Object obj)
    {
    if(evt.target instanceof Button)
    {
    String label= (String)obj;
    if(label.equals("Connect"))
    {
    try{
    soc= new Socket(InetAddress.getLocalHost(),4700);
    ps= new PrintStream(soc.getOutputStream());
    ps.println("HELLO");
    ps.flush();
    listen= new Listen(this,soc);
    listen.start();
    }catch(Exception e)
    {
    chat_txt.setText(e.toString());
    disconnect();
    }
    connect.setLabel("Disconnect");
    execute.enable();
    }else if(label.equals("Disconnect"))
    disconnect();
    else if(label.equals("Execute"))
    {
    if(sql_txt.getText()!= null)
    {
    ps.println("FIND");
    ps.flush();
    ps.println(sql_txt.getText());
    ps.flush();
    }
    }
    }
    return false;
    }
    public void disconnect()
    {
    if(soc!= null)
    {
    try{
    listen.stop();
    ps.println("QUIT");
    ps.flush();
    soc.close();
    }catch(Exception e){}
    finally{
    listen.stop();
    listen= null;
    soc= null;
    }
    execute.disable();
    connect.setLabel("Disconnect");
    }
    }
    }