3)模糊查询模块的实现代码:
this.sql="模糊查询:"+this.getmohuchaxun();
try
{
socket=new
Socket(InetAddress.getByName(getCodeBase().getHost()) ,3636) ;
datain=new DataInputStream(socket.getInputStream());
dataout=new DataOutputStream(socket.getOutputStream());
dataout.writeUTF(this.sql); //提交模糊查询请求
String mohuchaxunjieguo=datain.readUTF(); //读取模糊查询结果
if(mohuchaxunjieguo.trim().equals("无结果")) //结果为空集
{
JOptionPane.showMessageDialog(this,"无符合查询条件的结果!");
}
else
{
if(mohuchaxunjieguo.trim().equals("查询发生异常"))
{
JOptionPane.showMessageDialog(this,"查询发生异常,请重试!");
}
else
{
this.vector.removeAllElements(); //以下是数据在JTable中的显示
this.tm.fireTableStructureChanged();
String[] strmohuxianshis=mohuchaxunjieguo.split(":");
for(int i=1;i<strmohuxianshis.length;i++)
{
Vector rowvector=new Vector();
String[] strs=strmohuxianshis[i].split(",");
for(int j=0;j<strs.length;j++)
{
rowvector.addElement(strs[j]); //添加一个显示数据项
}
this.vector.addElement(rowvector);//添加一行显示数据项
}
this.tm.fireTableStructureChanged();
this.cardlayout.show(this,"mohuxianshi");
}
}
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(this,"网络或其他原因查询失败,请
与管理员联系!");
}
其中的getmohuchaxun()方法的代码:
www.751com.cn
if(this.yewudayu.getState() && this.zonghedayu.getState())
s="select 用户信息表.学号,姓名,政治素质,业务学习,智能素质,体育素质,综合测评得分 from 综合测评成绩表,用户信息表 where 业务学习 >=" + this.yewu.getfloat()+ " and 综合测评得分 >=" + this.zonghe.getfloat()+" and 综合测评成绩表.学号=用户信息表.学号";
if(this.yewudayu.getState() && this.zonghexiaoyu.getState())
s="select 用户信息表.学号,姓名,政治素质,业务学习,智能素质,体育素质,综合测评得分 from 综合测评成绩表,用户信息表 where 业务学习 >=" + this.yewu.getfloat()+ " and 综合测评得分 <" +this.zonghe.getfloat()+
" and 综合测评成绩表.学号=用户信息表.学号";
if(this.yewuxiaoyu.getState() && this.zonghedayu.getState())
s="select 用户信息表.学号,姓名,政治素质,业务学习,智能素质,体育素质,综合测评得分 from 综合测评成绩表,用户信息表 where 业务学习 <" + this.yewu.getfloat()+" and 综合测评得分 >=" + this.zonghe.getfloat()+" and 综合测评成绩表.学号=用户信息表.学号";
if(this.yewuxiaoyu.getState() && this.zonghexiaoyu.getState())
s="select 用户信息表.学号,姓名,政治素质,业务学习,智能素质,体育素质,综合测评得分 from 综合测评成绩表,用户信息表 where 业务学习 <" + this.yewu.getfloat()+ " and 综合测评得分 <" + this.zonghe.getfloat()+" and 综合测评成绩表.学号=用户信息表.学号";
if(this.zonghe.getfloat()==0 && this.yewu.getfloat()==0||this.zonghe.getfloat()!=0 && this.yewu.getfloat()!=0)
{
s+=" order by 用户信息表.学号 asc";
}
else
{
if(this.zonghe.getfloat()==0 && this.yewu.getfloat()!=0)
s+=" order by 业务学习 desc";
else
s+=" order by 综合测评得分 desc";
}
return s;
}