⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java

📁 java数据库编程实例—————————很好很强大第
💻 JAVA
字号:
package client;import java.awt.*;import java.io.*;import java.net.*;import java.applet.*;/** * Title:        数据库客户端Applet小程序 * Description:  Java语言演示程序:数据库客户端Applet小程序,用于北京师范大学计算机系Java课程教学示范。 * Copyright:    Copyright (c) 2002 * Company:      北京师范大学计算机系 * @author 孙一林 * @version 1.0 */public class Client extends Applet {      // 定义客户端Applet小程序类    public TextArea chat_txt;             // 声明界面等变量    private TextField sql_txt;    private Button connect,execute;    private Socket soc = null;             // 定义Socket类    private PrintStream ps = null;          // 定义输出流类    Listen listen;                          // 声明监听类    public void init(){                     // Applet初始化        chat_txt = new TextArea();        sql_txt = new TextField(20);        connect = new Button("连接数据库");        execute = new Button("命令执行");        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("连接数据库")) {                try{                    soc = new Socket(InetAddress.getLocalHost(),8080/*端口号*/);  // 创建Socket对象                    ps = new PrintStream(soc.getOutputStream());  // 创建socket输出对象                    ps.println("HELLO");                              // 发送‘HELLO’                    ps.flush();                    listen = new Listen(this,soc);              // 创建监听线程                    listen.start();                             // 启动监听线程                }                catch(Exception e) {                    chat_txt.setText(e.toString());                    disconnect();                }                connect.setLabel("断开数据库");                execute.enable();            }else              if(label.equals("断开数据库"))                disconnect();            else              if(label.equals("命令执行")) {                if(sql_txt.getText()!= null) {                    ps.println("FIND");               // 发送‘FIND’                    ps.flush();                    ps.println(sql_txt.getText());                    ps.flush();                }            }        }        return false;    }    public void disconnect() {              // 定义断开数据库        if(soc!= null) {            try{                listen.stop();                ps.println("QUIT");       // 发送‘QUIT’                ps.flush();                soc.close();              // 关闭通讯            }            catch(Exception e){}            finally{                listen.stop();                listen = null;                soc = null;            }            execute.disable();            connect.setLabel("断开数据库");        }    }}class Listen extends Thread {           // 定义通讯监听线程    Socket socket = null;    DataInputStream dis = null;// 创建输入流
    Client parent = null;    public Listen(Client p,Socket s) {        parent = p;        socket = s;        try{            dis = new DataInputStream(socket.getInputStream());  // 创建socket输入对象,获取显示数据        }catch(Exception e){}    }    public void run() {                   // 定义线程功能        String line = null;        while(true) {            try{                line = dis.readLine();        // 从输入流中读数据            }            catch(Exception e){}            if(line!= null)                parent.chat_txt.appendText(line);   // 显示数据(结果集)        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -