Java 查找数据时遇到的问题

Java 查找数据时遇到的问题,java,jdbc,Java,Jdbc,当我在TelephoneNo字段中查找数据时,该字段以浮点形式显示结果,如54435435.0。即使我将此电话号码作为54435插入,我的代码也是 String findby =cbfind.getSelectedItem().toString(); if(findby.equals("")){ JOptionPane.showMessageDialog(null," SELECT EITHER REGISTRATION NO OR NAME");

当我在
TelephoneNo
字段中查找数据时,该字段以浮点形式显示结果,如54435435.0。即使我将此电话号码作为54435插入,我的代码也是

 String findby =cbfind.getSelectedItem().toString();
           if(findby.equals("")){
           JOptionPane.showMessageDialog(null," SELECT EITHER REGISTRATION NO OR NAME");
 return;
        }

           if(findby.equals("RegNo"))
           {
           int regno1= Integer.parseInt(cbregn.getSelectedItem().toString());

            try
            {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            System.out.println("\n Driver loaded");
            Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB");
            Statement stmt=con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM REGISTRATION1 WHERE RegistrationNo="+regno1);
            System.out.println("Hi");
            rs.next();
            String per = rs.getString("SeniorPerson");
            System.out.println("SeniorPerson: " + per );
            String reg = rs.getString("RegistrationNo");
            System.out.println("RegistrationNo: " + reg);
            String nplace = rs.getString("NativePlace");
            System.out.println("NativePlace: " + nplace);
            String kul = rs.getString("Kul");
            System.out.println("Kul: " + kul);
            String gtr = rs.getString("Gotra");
            System.out.println("Gotra: " + gtr);
            String ksami = rs.getString("KulSwami");
            System.out.println("KulSwami: " + ksami);
            String raddr = rs.getString("ResidensialAddress");
            System.out.println("ResidensialAddress: " + raddr);
            String code = rs.getString("PinCode");
            System.out.println("PinCode: " + code);
            String stdcd = rs.getString("STDcode");
            System.out.println("STDcode: " + stdcd);
            String teleno = rs.getString("TelephoneNo");
            System.out.println("TelephoneNo: " + teleno);
            String mno = rs.getString("MobileNo");
            System.out.println("MobileNo: " + mno);
            String email = rs.getString("Email");
            System.out.println("Email: " + email);
            String web = rs.getString("Website");
            System.out.println("Website: " + web);
            String educ = rs.getString("Education");
            System.out.println("Education: " + educ);
            String brch = rs.getString("Branch");
            System.out.println("Branch: " + brch);
            String bgrp = rs.getString("BloodGroup");
            System.out.println("BloodGroup: " + bgrp);

            JOptionPane.showMessageDialog(null, "RECORD FOUND");

            cbnm.setSelectedItem(per);
            tfplace.setText(nplace);
            tfkul.setText(kul);
            tfgotra.setText(gtr);
            tfswami.setText(ksami);
            taraddr.setText(raddr);
            tfpcd.setText(code);
            tfstdcode.setText(stdcd);
            tftele.setText(teleno);
            tfmno.setText(mno);
            tfemail.setText(email);
            tfweb.setText(web);
            tfedu.setText(educ);
            tfbrch.setText(brch);
            cbbldgrp.setSelectedItem(bgrp);
            }
            catch (Exception e)
            {
            System.out.println("EXCEPTION " + e);
            }
         }



           if(findby.equals("Name"))
           {
            try
            {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            System.out.println("\n Driver loaded");
            Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB");
            Statement stmt=con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM REGISTRATION1 WHERE SeniorPerson='"+cbnm.getSelectedItem().toString()+"'");
            System.out.println("Hi");
            rs.next();
            String per = rs.getString("SeniorPerson");
            System.out.println("SeniorPerson: " + per );
            String reg = rs.getString("RegistrationNo");
            System.out.println("RegistrationNo: " + reg);
            String nplace = rs.getString("NativePlace");
            System.out.println("NativePlace: " + nplace);
            String kul = rs.getString("Kul");
            System.out.println("Kul: " + kul);
            String gtr = rs.getString("Gotra");
            System.out.println("Gotra: " + gtr);
            String ksami = rs.getString("KulSwami");
            System.out.println("KulSwami: " + ksami);
            String raddr = rs.getString("ResidensialAddress");
            System.out.println("ResidensialAddress: " + raddr);
            String code = rs.getString("PinCode");
            System.out.println("PinCode: " + code);
            String stdcd = rs.getString("STDcode");
            System.out.println("STDcode: " + stdcd);
            String teleno = rs.getString("TelephoneNo");
            System.out.println("TelephoneNo: " + teleno);
            String mno = rs.getString("MobileNo");
            System.out.println("MobileNo: " + mno);
            String email = rs.getString("Email");
            System.out.println("Email: " + email);
            String web = rs.getString("Website");
            System.out.println("Website: " + web);
            String educ = rs.getString("Education");
            System.out.println("Education: " + educ);
            String brch = rs.getString("Branch");
            System.out.println("Branch: " + brch);
            String bgrp = rs.getString("BloodGroup");
            System.out.println("BloodGroup: " + bgrp);

            JOptionPane.showMessageDialog(null, "RECORD FOUND");

            cbregn.setSelectedItem(reg);
            tfplace.setText(nplace);
            tfkul.setText(kul);
            tfgotra.setText(gtr);
            tfswami.setText(ksami);
            taraddr.setText(raddr);
            tfpcd.setText(code);
            tfstdcode.setText(stdcd);
            tftele.setText(teleno);
            tfmno.setText(mno);
            tfemail.setText(email);
            tfweb.setText(web);
            tfedu.setText(educ);
            tfbrch.setText(brch);
            cbbldgrp.setSelectedItem(bgrp);
            }
            catch (Exception e)
            {
            System.out.println("EXCEPTION " + e);
           }
       }//if

我敢打赌,这是因为它是如何存储在数据库中的


使用
varchar
而不是您正在使用的任何内容

您看到的答案很可能是由于:

  • 将电话号码的列类型定义为“float”、“double”、“decimal”、“numeric”或“real”,或

  • 将列类型定义为“char”、“varchar”等,并从Java
    float
    double
    BigDecimal
    填充它


无论哪种情况,您看到的都反映了存储在数据库中的数据

年龄的db列设置为varchar还是数字?为什么不能设置为long int