程序代码:
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没取到值?真心求教!!
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没取到值?真心求教!!
按F6单步调试
选中行,CTRL + SHIFT + B 运行时,点Debug As -- Java Application
关键是debug过后总应该知道原因了吧
不然你真要学习如何调试代码了。