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