当前位置: 代码迷 >> Java相关 >> 求大神指导 不指望做出来 求思路
  详细解决方案

求大神指导 不指望做出来 求思路

热度:116   发布时间:2012-12-28 13:05:06.0
求大神指导 不指望做出来 求思路
设计客户端与服务端通信的 Applet 程序
      双方建立连接后,客户端向服务端发送 SQL 语句。如果发送的是查询语句,则需要将查询的结果通过服务端传到客户端并显示出来。如果传送的是更新语句,则需要在服务端上执行这个更新,并将执行成功与否告知客户端。
      要求提交完整的客户端、服务端程序和Access数据库文件。

服务端操作的数据库设计如下:
Student 表( sage 为 smallint, 其他均为 varchar 类型)
学号     姓名     性别     年龄    所在系
Sno   S   name     Ssex     Sage     Sdept



Course 表 (CCredit 为 smallint ,其他均为 varchar 类型 )
课程号    课程名   先行课      学分
Cno      Cname      Cpno       Ccredit



SC 表 (sno,cno 为 varchar,grade 为 real 类型 )
学号   课程号      成绩
Sno     Cno        Grade



基本的客户机服务器能进行通信    表格也会做   就是怎么能让服务器执行SQL语句  怎么把信息反馈给客户机
搜索更多相关的解决方案: 客户端  数据库文件  服务端  

----------------解决方案--------------------------------------------------------
不就是连接数据库 的CURD吗
----------------解决方案--------------------------------------------------------
能详细点吗  我直接就是不怎么入门的   学JAVA不是主动的
----------------解决方案--------------------------------------------------------
回复 2楼 hhwz
不知能否帮帮忙
----------------解决方案--------------------------------------------------------
你说说看你做到什么 进度了吧

----------------解决方案--------------------------------------------------------
回复 5楼 hhwz
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class MySocketServer {

    public static void main(String[] args){
        new ServerService(8000,10);
    }
}

class ServiceFrame extends Frame implements Runnable{
    ServerService fatherListener;
    Socket connectedClient;
    TextArea serverMeg;
   
    ServiceFrame(ServerService sv,Socket s){
        fatherListener = sv;
        connectedClient = s;
        setTitle("服务器端socket窗口");
        setLayout(new BorderLayout());
        serverMeg = new TextArea(10,50);
        add("Center",serverMeg);
        setVisible(true);
        InetAddress clientAddress = connectedClient.getInetAddress();
        serverMeg.append("Client connected"+"from\n"+clientAddress.toString()+".\n");
    }
   
    public void run(){
        try{
            BufferedReader sIn = new BufferedReader(new InputStreamReader(connectedClient.getInputStream()));
            PrintWriter sOut = new PrintWriter(connectedClient.getOutputStream());
            sOut.println("Hello! Wellcome connect to our server!\r");
            sOut.flush();
            String s = sIn.readLine();
            while(!s.equals("Bye")){
                serverMeg.append("Client端输入的信息为:\n"+s);
                s = sIn.readLine();
            }
            connectedClient.close();
        }catch(Exception e){}
        fatherListener.addMeg("Client"+"closed."+"\n");
        dispose();
    }
}

class ServerService extends Frame{
   
    ServerSocket m_sListener;
    TextArea listenerMeg;
   
    public ServerService(int Port,int Count){
        try{
            m_sListener = new ServerSocket(Port,Count);
            setTitle("服务器端监听服务窗口");
            this.addWindowListener(new WinAdpt());
            setLayout(new BorderLayout());
            listenerMeg = new TextArea("监听服务已经启动\n",10,50);
            add("Center",listenerMeg);
            setVisible(true);
            while(true){
                Socket connected = m_sListener.accept();
                InetAddress clientAddress = connected.getInetAddress();
                listenerMeg.append("Client"+"connected"+"from\n"+clientAddress.toString()+".\n");
                ServiceFrame myST1 = new ServiceFrame(this,connected);
                Thread myST2 = new Thread(myST1);
                myST2.start();
            }
        }catch(IOException e){}
    }
    public void addMeg(String s){
        listenerMeg.append(s);
    }
}
class WinAdpt extends WindowAdapter{
    public void windowClosing(WindowEvent e){
        (e.getWindow()).dispose();
        System.exit(0);
    }
}



服务器不用applet,能帮忙弄得符合要求吗,只会基本的代码,怎么连接Access  并且判断是查询还是更新  并且回显到客户端这个不太会
----------------解决方案--------------------------------------------------------
  相关解决方案