📄 query.java
字号:
package data;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import java.awt.event.*;
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;
import java.security.cert.*;
import java.io.*;
import data.MyWindowListener;
import java.sql.*;
import data.Connect;
import sun.security.x509.*;
import java.util.*;
import data.BASE64Encoder;
import data.Base64;
public class Query extends JFrame
{
void buildConstraints(GridBagConstraints gbc,int gx,int gy,int gw,int gh,int wx,int wy)
{
gbc.gridx=gx;
gbc.gridy=gy;
gbc.gridwidth=gw;
gbc.gridheight=gh;
gbc.weightx=wx;
gbc.weighty=wy;
}
//interface
JRadioButton SN = new JRadioButton();
JRadioButton ID = new JRadioButton();
ButtonGroup type=new ButtonGroup();
JTextField sn;
JTextField id;
JButton ok=new JButton("确定");
JButton cancel=new JButton("取消");
//KeyWord & table selection
String keyword;
String item;//查询的关键词的属性
final int ID_Query=0;
final int SN_Query=1;
int QueryType;
Connect conn;
Statement stmt;
String query,msg;
String Cert;
Base64 DE=new Base64();
public void Display() throws Exception
{
JFrame frame=new JFrame("用户查询界面");
JPanel pane=new JPanel();
frame.setBounds(384,300,281,163);
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
pane.setLayout(gridbag);
JLabel label1=new JLabel("请选择查询的关键字类型:",JLabel.CENTER);
pane.add(label1,null);
buildConstraints(constraints,0,1,1,1,10,40);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.CENTER;
gridbag.setConstraints(ID,constraints);
pane.add(ID,null);
buildConstraints(constraints,1,1,1,1,10,40);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.CENTER;
gridbag.setConstraints(SN,constraints);
pane.add(SN,null);
buildConstraints(constraints,0,2,1,1,10,40);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.CENTER;
id=new JTextField(8);
gridbag.setConstraints(id,constraints);
pane.add(id,null);
buildConstraints(constraints,1,2,1,1,10,40);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.CENTER;
sn=new JTextField(10);
gridbag.setConstraints(sn,constraints);
pane.add(sn,null);
buildConstraints(constraints,0,3,1,1,50,40);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gridbag.setConstraints(ok,constraints);
pane.add(ok);
buildConstraints(constraints,1,3,1,1,90,0);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.WEST;
gridbag.setConstraints(cancel,constraints);
pane.add(cancel);
ID.setSelected(true);
sn.setEditable(false);
type.add(ID);
type.add(SN);
ID.setText("用户的唯一身份号");
ID.setBounds(new Rectangle(22,201,113,23));
ID.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ID_actionPerformed(e);}});
SN.setText("证书的序列号");
SN.setBounds(new Rectangle(322, 200, 87, 23));
SN.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
SN_actionPerformed(e);} });
ok.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
OK_actionPerformed(e); }});
cancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
CANCEL_actionPerformed(e);} });
frame.setContentPane(pane);
frame.setVisible(true);
}
void ID_actionPerformed(ActionEvent e) {
sn.setEditable(false);
id.setEditable(true);
QueryType=ID_Query;
}
void SN_actionPerformed(ActionEvent e) {
id.setEditable(false);
sn.setEditable(true);
QueryType=SN_Query;
}
void OK_actionPerformed(ActionEvent e)
{
//设置查找关键路径
if(QueryType==ID_Query)
{
keyword=id.getText().trim();
item="UserID";
}
else
{
keyword=sn.getText().trim();
item="SerialNumber";
}
//查找
try{
conn=new Connect();
stmt=conn.con.createStatement();
query="select * from CertData where "+item+"='"+keyword+"'";
ResultSet rs=stmt.executeQuery(query);
int result=0;
while(rs.next())
{
result++;
try{
Cert=rs.getString(10);
System.out.println(Cert);
byte[] b_Cert =DE.decode(Cert.getBytes());
String UserCert="Query"+keyword+".cer";
FileOutputStream f_Cert = new FileOutputStream(UserCert);
f_Cert.write(b_Cert);
f_Cert.close();
msg="您所查询的用户证书已经查询成功!";
JOptionPane.showMessageDialog(null,msg);
System.out.println(msg);
this.setVisible(false);
return;
}catch(IOException i){
msg="临时文件创建错误!";
JOptionPane.showMessageDialog(null,msg);
System.out.println(msg);
}
}
if(result==0)
{
msg="没有您要查询的用户的证书记录!!";
JOptionPane.showMessageDialog(null,msg);
System.out.println(msg);
}
}catch(SQLException sqle){
String mm;
mm="数据库执行错误:"+sqle.getMessage();
System.out.println(mm);
}
}
void CANCEL_actionPerformed(ActionEvent e)
{
id.setText("");
sn.setText("");
}
/* public static void main(String args[]) throws Exception
{
Query one=new Query();
one.Display();
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -