为什么只循环了一次啊

mailmac mailmac 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我连到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();
}


}
}
...全文
评论 17
收藏 已收藏
分享
返回顶部
mailmac
Java SE 62,620 成员 307,251 内容