📄 server.java
字号:
import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.*;
public class Server
{ public static void main(String args[])
{ Connection con=null;
PreparedStatement sql=null;
ResultSet rs;
int k=-1; //添加的标记
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){k=0;e.printStackTrace();}
try{ con=DriverManager.getConnection("jdbc:odbc:liLib");
sql=con.prepareStatement("SELECT * FROM 学生 WHERE 学号 =?");
}
catch(SQLException e){k=0;e.printStackTrace();}
ServerSocket server=null;
Server_thread thread;
Socket you=null;
while(true)
{ try{ server=new ServerSocket(4330);
}
catch(IOException e1)
{ System.out.println("正在监听...");
}
try{ System.out.println(" 等待客户呼叫...");
you=server.accept();
System.out.println("客户的地址:"+you.getInetAddress());
}
catch(IOException e)
{ System.out.println("正在等待客户...");
}
if(you!=null)
{ new Server_thread(you,sql,k).start();
}
}
}
}
class Server_thread extends Thread
{ Socket socket;
DataOutputStream out=null;
DataInputStream in=null;
PreparedStatement sql;
Connection con; //加的内容
boolean boo=false;
Server_thread(Socket t, PreparedStatement sql,int k)
{ socket=t;
this.sql=sql;
//this.con=con; //加的内容
try {
out=new DataOutputStream(socket.getOutputStream());
in=new DataInputStream(socket.getInputStream());
if(k!=-1) //添加内容
{
out.writeUTF("服务器端连接数据库失败!");
}
}
catch(IOException e){e.printStackTrace();}
}
public void run()
{ while(true)
{try{
String num=in.readUTF();
boo=false;
sql.setString(1,num);
ResultSet rs=sql.executeQuery() ;
while(rs.next())
{ boo=true;
String number=rs.getString(1);
String name=rs.getString(2);
String zhuanye=rs.getString(3);
String sex=rs.getString(4);
String da=rs.getString(5);
int score=rs.getInt(6);
String beizhu=rs.getString(7);
System.out.print("学号:"+number);
System.out.print(" 姓名:"+name);
System.out.print(" 专业:"+zhuanye);
System.out.print(" 性别:"+sex);
System.out.print(" 出生:"+da);
System.out.print(" 分数:"+score);
System.out.println(" 备注:"+beizhu);
out.writeUTF("学号:"+number+"\n姓名:"+name+"\n专业:"+zhuanye
+"\n性别:"+sex+"\n出生:"+da+"\n分数:"+score+"\n备注:"+beizhu+"\n");
}
if(boo==false)
{ out.writeUTF("没有该学号!");
}
}
catch (Exception e)
{ System.out.println("数据库服务器已离开"+e);
try
{
out.writeUTF("服务器端已和数据库服务器断开!");
}catch(Exception ex){}
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -