java开发登陆界面时比较数据库字符窜的问题

原创 2007年10月01日 10:36:00

前几天我在做课程设计时遇到这样的一个问题:

首先sql2000建 的一个表如下:

 

大家留意 : 我的数据类型是char(这个是问题的关键)

如果大家有耐心的就看下代码拉不过我讲思路也行的(代码只是我事件的代码放最后了,现在我们说思路)

if(用户ID和用户秘密都不是空){

        进行数据库的连接并读出用户ID和秘密;

       用户输入的用户ID和秘密与数据库的比较;————问题是我怎么都比较不了

      。。。。。。。。.(其他的我就不说了)。。。。。。。。。。

}

else则输出错误信息并再次输入;

。。。。。。。。。。。。

问题分析 :

if(managername.equals(name)&&managerpassword.equals(password))

我是用这个比较的,可是就是就是现实不相等啊;我想会不会长度有问题

于是我用managername。length 和 name。length 查看了 长度, 果然真的是长度不相等哦

数据库读出的长度都为8而用户输入的就是字符窜本身长度。equals只能比较等长的;

于是我就吧数据库的数据类型改成varchar

这样问题就解决了;问题在于varchar是可变长度 数据库的字符窜多长读出来的 就多长

ohoh!!!今天到此为止!!

 

 

public void jButton1_actionPerformed(ActionEvent e) throws Exception{

    String name = jTextField1.getText().toString();
    String password =new String(jPasswordField1.getPassword());

    if(!name.equals("")&&!password.equals("")){

      try {
        String url = "jdbc:odbc:student";
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con = DriverManager.getConnection(url);
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * from stu");

        while (rs.next()) {
          managername = rs.getString("ad_id");
          managerpassword = rs.getString("ad_pass");


        }
         if(managername.equals(name)&&managerpassword.equals(password)){
           this.flag=true;
           this.setVisible(false);
           mainframe mframe = new mainframe();
           mframe.setSize(750,560);
           mframe.setVisible(true);
         }
         else{
           jTextField1.setText("");
           jPasswordField1.setText("");
         }
      }
      catch (Exception ee) {
        System.out.println(ee);
      }
    }
    else{
      JOptionPane.showMessageDialog(null, "请输入完整的信息","管理员登陆",JOptionPane.PLAIN_MESSAGE);
    }
  }

java制作登陆界面验证问题mysql为数据库

http://www.oschina.net/question/875147_81038 java制作登陆界面验证问题mysql为数据库 参加OSC应用开发大赛,拿Nexus 4手机 活动详情 ...

Java连数据库的登陆界面程序

  • 2012年12月10日 10:15
  • 5KB
  • 下载

Java编写山寨QQ中遇到的各种问题---登陆界面

刚接触JAVA不久,在编写过程中总会遇到各种各样的问题,怕自己一转身又给忘了,还是记录下来吧!方便以后再捡起来复习复习。等以后技术成熟了,也可以回来看看。     以后要是再来看自己现在写的代码,可千...

java登陆界面中关于JDBC的一个问题

最近用java写了一个登陆的小界面,先把代码贴出来然后说说其中的问题。

一、使用JAVA_SWT编写登陆界面(不含数据库,登陆按钮未处理)

安装下载SWT组件,地址为:
  • yjpa7
  • yjpa7
  • 2011年05月16日 00:28
  • 2925

数据库连接字符窜大全

  • 2008年10月19日 14:40
  • 31KB
  • 下载

oracle 数据库字符窜详细解释

整理一下对于char,character,varchar,varchar2,nchar,nvarchar2,long,long raw及LOB类型之间比较 一、类型概念 char:       ...

Java输入满足条件的字符窜,并将其返回 密码设置成包含(A-Z)或空格的形式(空格不能作为密码的开头)

package cn.itcast.XiuXiRiLianXi; /* * 作者认为本程序的重点在以下三个方面: 1. 细细品味while(true){}和break的结合 2. 细细品味自己当时是...

java中字符窜与16进制,byte之间的转换

/** * java String 与各种进制字符之间的转换 *  * @author */  public class Coding {        /** ...
  • fzdswz
  • fzdswz
  • 2014年09月11日 11:02
  • 286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java开发登陆界面时比较数据库字符窜的问题
举报原因:
原因补充:

(最多只允许输入30个字)