为什么只循环了一次啊
我连到SQLserver的一张表上,用循环读取表中的所有记录,为什么只返回了第一条记录啊?刚上手,希望大家帮忙~~急
以下是代码:
import java.applet.Applet;
import java.awt.*;
import java.sql.*;
public class atwapt extends Applet
{
public void init()
{
resize(600,600);
}
public void paint(Graphics g){
try
{
int[][] node=new int[1000][3];
int i=0;
int tmphead,tmpend;
this.setForeground(Color.black);
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=×××";
String aisql="select * from ainode";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection(url,"sa","×××");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet result=stmt.executeQuery(aisql);
while(result.next()){
System.out.println(result.getString("nodex"));
System.out.println(result.getString("nodey"));
node[i][0]=result.getInt("nodex");
node[i][1]=result.getInt("nodey");
node[i][2]=result.getInt("distance");
i=i+1;
}
String aisql1="select headnode,endnode from airoad";
Statement stmt1=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet result1=stmt1.executeQuery(aisql1);
while(i>=0&&result1.next()){
System.out.println(result1.getString("headnode"));
System.out.println(result1.getString("endnode"));
tmphead=result1.getInt("headnode");
tmpend=result1.getInt("endnode");
g.drawLine(node[tmphead][0]*10,node[tmphead][1]*10,node[tmpend][0]*10,node[tmpend][0]*10);
i=i-1;
}
result1.close();
result.close();
stmt.close();
con.close();
}catch(SQLException ex){} catch (ClassNotFoundException e) {
//TODO 自动生成 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}