📄 server.java
字号:
catch(SQLException ee) {}
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
System.out.println("yichang"+eee.getMessage());
}
System.out.println("客户离开了");
break;
}
}
}
}
//以下为定义stuFind的线成
//Server_stuFind extends Thread
class Server_stuFind extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_stuFind(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:graduate","liuwei","123456");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
String sqlCondition=null;
String cxnr="",cxfc="",cxtj="";
//查询内容 cxnr cxfc cxfc cxtj cxtj
StringTokenizer fenxi=new StringTokenizer(s,":");
if(fenxi.hasMoreTokens())
{
cxnr=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
cxfc=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
cxtj=fenxi.nextToken();
}
if(cxtj.equals("完全一致"))
{
//测试测试测试测试测试测试测试
if(cxfc.equals("姓名"))
{
sqlCondition="SELECT * FROM stu WHERE stu_name='"+cxnr+"'";
}
if(cxfc.equals("学号"))
{
sqlCondition="SELECT * FROM stu WHERE stu_no='"+cxnr+"'";
}
if(cxfc.equals("入学年份"))
{
sqlCondition="SELECT * FROM stu WHERE stu_ruxue='"+cxnr+"'";
}
// 测试测试测试测试测试测试测试
// sqlCondition=
// "SELECT * FROM stu WHERE "+cxfc+" = "+"'"+cxnr+"'";
}
else if(cxtj.equals("前方一致"))
{
// sqlCondition=
// "SELECT * FROM stu WHERE "+cxfc+" LIKE "+"'"+cxnr+"%' ";
if(cxfc.equals("学号"))
{
sqlCondition="SELECT * FROM stu WHERE stu_no LIKE "+"'"+cxnr+"%'";
}
if(cxfc.equals("姓名"))
{
sqlCondition="SELECT * FROM stu WHERE stu_name LIKE "+"'"+cxnr+"%'";
}
if(cxfc.equals("入学年份"))
{
sqlCondition="SELECT * FROM stu WHERE stu_ruxue LIKE "+"'"+cxnr+"%'";
}
}
else if(cxtj.equals("后方一致"))
{
// sqlCondition=
// "SELECT * FROM stu WHERE "+cxfc+" LIKE "+"'%"+cxnr+"' ";
if(cxfc.equals("学号"))
{
sqlCondition="SELECT * FROM stu WHERE stu_no LIKE "+"'%"+cxnr+"'";
}
if(cxfc.equals("姓名"))
{
sqlCondition="SELECT * FROM stu WHERE stu_name LIKE "+"'%"+cxnr+"'";
}
if(cxfc.equals("入学年份"))
{
sqlCondition="SELECT * FROM stu WHERE stu_ruxue LIKE "+"'%"+cxnr+"'";
}
}
else if(cxtj.equals("中间包含"))
{
// sqlCondition=
// "SELECT * FROM bookform WHERE "+cxfc+" LIKE "+"'%"+cxnr+"%' ";
if(cxfc.equals("学号"))
{
sqlCondition="SELECT * FROM stu WHERE stu_no LIKE "+"'%"+cxnr+"%'";
}
if(cxfc.equals("姓名"))
{
sqlCondition="SELECT * FROM stu WHERE stu_name LIKE "+"'%"+cxnr+"%'";
}
if(cxfc.equals("入学年份"))
{
sqlCondition="SELECT * FROM stu WHERE stu_ruxue LIKE "+"'%"+cxnr+"%'";
}
}
try{
rs=stmt.executeQuery(sqlCondition);
//rs=stmt.executeQuery("SELECT * FROM stu WHERE s_name='"+cxnr+"'");
number=0;
while(rs.next())
{
number++;
String stu_no=rs.getString("stu_no");
String stu_name=rs.getString("stu_name");
String stu_ruxue=rs.getString("stu_ruxue");
String stu_sex=rs.getString("stu_sex");
String stu_nation=rs.getString("stu_nation");
String stu_date=rs.getString("stu_date");
String stu_tel=rs.getString("stu_tel");
String stu_addr=rs.getString("stu_addr");
String stu_memory=rs.getString("stu_memory");
// Date 日期=rs.getDate("日期");
//out.writeUTF("\n"+书名+" , "+作者+","+出版社+","+价格+
// ","+日期);
out.writeUTF("\n"+stu_no+","+stu_name+","+stu_ruxue+","+stu_sex+" , "+stu_nation+" , "+stu_date+","+stu_tel+","+stu_addr+","+stu_memory);
out.flush();
}
if(number==0)
{
out.writeUTF("没有查询到任何记录\n");
}
}
catch(SQLException ee) {
System.out.println("yichang"+ee.getMessage());
}//
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
}
System.out.println("客户离开了");
break;
}
}
}
}
//以下定义rankAdd的线程
class Server_rankAdd extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_rankAdd(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:graduate","liuwei","123456");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{ String sqlCondition=null;
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
String str1="",str2="",str3="",str4="",str5="";
StringTokenizer fenxi=new StringTokenizer(s,",");
if(fenxi.hasMoreTokens())
{
str1=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
str2=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
str3=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
str4=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
str5=fenxi.nextToken();
}
//...............
try{
PreparedStatement ptmt=con.prepareStatement("insert into rank(rank_sno,rank_sname,rank_subno,rank_subname,rank_score)values(?,?,?,?,?)");
ptmt.setString(1,str1);
ptmt.setString(2, str2);
ptmt.setString(3,str3);
ptmt.setString(4, str4);
ptmt.setString(5,str5);
ptmt.executeUpdate();
out.writeUTF("添加成功"+s);//////自己又添加上的代码
}
catch(SQLException ee) {}
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
System.out.println("yichang"+eee.getMessage());
}
System.out.println("客户离开了");
break;
}
}
}
}
//以上定义rankAdd的线程
//以下定义一个rank表中删除数据的线程
class Server_rankDel extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_rankDel(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:graduate","liuwei","123456");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
String sqlCondition=null;
String str1="";
String str2="";
StringTokenizer fenxi=new StringTokenizer(s,",");
if(fenxi.hasMoreTokens())
{
str1=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
str2=fenxi.nextToken();
}
try{
PreparedStatement ptmt=con.prepareStatement("delete from rank where [rank_sno]=? and [rank_subno]=?");
ptmt.setString(1,str1);
ptmt.setString(2,str2);
ptmt.executeUpdate();
out.writeUTF("删除成功");
System.out.println(str1);//测试变量
}
catch(SQLException ee) {}
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
System.out.println("yichang"+eee.getMessage());
}
System.out.println("客户离开了");
break;
}
}
}
}
//以下定义一个sub表中添加数据的线程
//以下定义一个sub表中添加数据的线程
class Server_subAdd extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_subAdd(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:graduate","liuwei","123456");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{ String sqlCondition=null;
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -