设为首页 加入收藏

TOP

通过socket访问数据库
2014-11-23 17:39:01 】 浏览:9568
Tags:通过 socket 访问 数据库

  通过Socket访问数据库


  Tip:通过socket访问数据库,分 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");
  }
  }
  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇用JDBC编写查询Access和FoxPro数.. 下一篇如何使用JSP访问MySQL数据库

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目