求大神指导 不指望做出来 求思路
设计客户端与服务端通信的 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 并且判断是查询还是更新 并且回显到客户端这个不太会
----------------解决方案--------------------------------------------------------