永发信息网

哪个JAVA高手帮我改下程序

答案:2  悬赏:10  手机版
解决时间 2021-04-30 09:03

package mianshi;

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;

public class CK_dl extends JFrame{
 String wbk;
 String sfz;
 Connection con;
 Statement sql;
 ResultSet res;
 public Connection getConnection() {
  try{
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
   con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;Databasename=mianshixt", "sa","123456");
   System.out.println("OK");
   sql=con.createStatement();
   res=sql.executeQuery("select*from dl_Sfz");
   while (res.next()) {
    sfz=res.getString("Sfz");
    System.out.println(sfz);
   }
  }catch(Exception e){
   e.getStackTrace();
  }
  
  return con;
 }
  public  CK_dl(){
  JFrame jf=new JFrame();
  Container con=jf.getContentPane();
  final JTextField jt=new JTextField("输入");
  JButton jb=new JButton("按扭");
  jf.setSize(500, 500);
  con.add(jt,BorderLayout.NORTH);
  con.add(jb,BorderLayout.SOUTH);
  jb.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    wbk=jt.getText();
    if(wbk.matches(sfz)){
     JOptionPane.showMessageDialog(null, "通过验证");
    }else{
     JOptionPane.showConfirmDialog(null, "验证失败");
    }
   }
  });

  jf.setVisible(true);
  jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  }
  public static void main(String[] args) {
   CK_dl C=new CK_dl();
   C.getConnection();
  }
}
不知道怎么判断输入信息是否在数据库中

if(wbk.matches(sfz)){
这个是肯定不行的,谁帮我改下

最佳答案
你在读取sfz时候永远读取的是最后一个while (res.next()) {
    sfz=res.getString("Sfz");
    System.out.println(sfz);
}解决方法一:你可以用一个list0,从数据库取的时候,把sfz全部装起来,然后再FOR循环匹配解决方法二:把你的SQL语句带上参数,即 你输入的sfz,到数据库里面查询有没有,返回bool类型
全部回答

您应该在校验时候查询一下当前数据库内是否存在这条记录, 例如我写的这个方法供您参考

 public boolean checkData(String info) {    try{     Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");     Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;Databasename=mianshixt", "sa","123456");     PreparedStatement  sql=con.PreparedStatement  ("select*from dl_Sfz where sfz=?");     sql.setString(1,info);     ResultSet  res=sql.executeQuery();     if(res.next())return false;     return true;    }    catch(Exception e){     e.getStackTrace();    }       return false;   }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
好友朋过生日。送什么最好(注:好朋友是女生
怎么用电脑改造成电脑点歌机
NBA 2K系列中的MP存档是什么意思?
1998年4月7日出生的是什么座
开元蛋糕地址在什么地方,想过去办事
一两钱可以换一瓶酒,两个空瓶又可以换一拼酒
关于智齿拔牙是否要拍片
找一本现实世界毁灭、变成魔法世界的电子书、
ccna过期了,如何考ccnp?
300分能进清远那个高中?
谁告诉我一个文字图片制作器
酸菜鱼是什么鱼做的
死灵术士应该带50的什么粉手镯比较好
山东人民出版社高中语文选修课本唐诗宋词鉴赏
明天下大雪吗?
推荐资讯
什么车你感觉最好?
对男人来说,事业和家庭哪个更重要?
爱情这方面的东东是什么
问问怎么点亮 我都2级了
马成超市地址有知道的么?有点事想过去
亲爱。狠无奈'
金庸谁的武功最高,三国时期谁的武功最高
吉隆坡等城市为什么放弃01年的亚运举办权
CF的C级礼包券兑换的道具是多久的?
怎样在新加坡开户头炒股啊?我是POSB的.
我有个朋友要2年不上Q、怎样防止QQ被注销、
暮光之城的剧情?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?