程序代码:
public static void main(String[] args) {
// TODO Auto-generated method stubnew QPhone();
  dm = input1.getText();hm = input2.getText();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException e){
System.out.println(e);
}try{
con = DriverManager.getConnection("jdbc:odbc:phone", "", "");
st = con.createStatement();
if(dm != null && hm == null)

ResultSet rs = st.executeQuery("SELECT name,tel FROM [Sheet1$] WHERE DM = '"+dm+"'");
while(rs.next()){
n1 = rs.getString(1);
t1 = rs.getString(2);
//infoshow.append(n1 + ":" + t1 + "\n");
  
  
}
}if(dm == null && hm != null){
ResultSet rs = st.executeQuery("SELECT name,tel FROM [Sheet1$] WHERE TEL LIKE '%"+hm+"%'");
while(rs.next()){
n2 = rs.getString(1);
t2 = rs.getString(2);
//infoshow.append(n2 + ":" + t2 + "\n");
}
}
else{
ResultSet rs = st.executeQuery("SELECT * FROM [Sheet1$]");
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= numberOfColumns; i++) {
if (i >= 1)
infoshow.append("\n");
String columnValue = rs.getString(i);
infoshow.append(columnValue);
}
System.out.println("");
}}
st.close();
con.close();
  
}catch(Exception e){
e.printStackTrace();
}}
private void jTextField1KeyTyped(KeyEvent evt) throws SQLException {
if (evt.getKeyChar()==KeyEvent.VK_ENTER) {
infoshow.append(n1 + ":" + t1 + "\n");
}
}
}
private void jTextField2KeyTyped(KeyEvent evt) throws SQLException {
if (evt.getKeyChar()==KeyEvent.VK_ENTER) {
infoshow.append(n2 + ":" + t2 + "\n");
}
}
}
}
为什么我在文本框中输入合法字符之后,按回车显示结果却是null,null?是dm和hm没取到值还是n1和t1没取到值?真心求教!!

解决方案 »

  1.   

    你debug或者System.out.print不就行了么
      

  2.   

    dm = input1.getText();上打断点,
    按F6单步调试
      

  3.   

    这个程序如果不设置输入,手动在程序中改dm或hm的值的话,是没问题的,就是加了输入框之后,不能以输入的值做查询,查询结果为null:null。我这个是要做成exe的,所以不能只System.out.print请大家帮帮忙
      

  4.   


    选中行,CTRL + SHIFT + B 运行时,点Debug As -- Java Application
      

  5.   

    debug也不行啊我执行过,还是不能实现功能,不知道原因
      

  6.   

    不就是因为不能实现功能你才问的么???
    关键是debug过后总应该知道原因了吧
    不然你真要学习如何调试代码了。
      

  7.   

    新手菜鸟,真心请教,debug后不明白什么意思我该怎么做?
      

  8.   

    看来真是菜鸟,你在代码行号前面双击,就好出现一个蓝色断点,然后以debug server运行,不要用run server,按F6一行一行走,然后选中要看的变量,按ctrl+shift+D查看值