Estou tendo este problema com meu programa, o que pode estar acontecendo, ele começa a ler os dados e derrepente para, estou lendo de um arquivo DBF, eu tenho três arquivos DBF três ele lê direitinho no quarto ele começa a ler e depois dá este erro!!
Exception in thread “main” java.lang.NullPointerException
at com.hxtt.sql.HxttResultSet.isAfterLast(Unknown Source)
at com.hxtt.sql.HxttResultSet.a(Unknown Source)
at com.hxtt.sql.HxttResultSet.next(Unknown Source)
at produto.main(produto.java:73)
Eis o meu código, quando chega no quarto while ele dá o erro o while 1,2 e 3 lê numa boa!!
import java.sql.*;
import java.io.*;
import java.math.*;
import com.hxtt.sql.*;
public class produto
{
public static void main(String args[]) throws Exception {
//String de conexão para o DB2
String url1 = "jdbc:db2:mktcomnt";
String username = "mktcom";
String password = "extend001";
String codproduto = null,dscproduto = null,codfamilia = null,dscfamilia = null;
String codlinha = null,dsclinha = null,codempresas = null,dscempresas = null;
String query = null, qrynivel = null;
String path = "K:\PILOT\DDD\DDD_DADOS\";
//Cria a string de conexão e tenta conectar no banco IBM DB2
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
Connection con = DriverManager.getConnection(url1, username, password);
PreparedStatement pstmt = con.prepareStatement("Select * from ddd_tab_un");
System.out.println("CONEXAO EFETUADA COM SUCESSO MKTCOMNT, AGUARDE !!!");
//DBF
String conexao = "com.hxtt.sql.dbf.DBFDriver";
Class.forName(conexao).newInstance();
String url = "jdbc:DBF:/"+path;
String sql1 = "SELECT * FROM PROD_EMP";
String sql2 = "SELECT * FROM PROD_LIN";
String sql3 = "SELECT * FROM PROD_FAM";
String sql4 = "SELECT * FROM PROD_PRO";
Connection conn = DriverManager.getConnection(url);
System.out.println("CONEXAO EFETUADA COM SUCESSO NO ARQUIVO!!!");
Statement stmt = conn.createStatement();
ResultSet rs1 = stmt.executeQuery(sql1);
while(rs1.next())
{
codempresas = rs1.getString("ID_EMPRESA").trim();
dscempresas = rs1.getString("DSC_EMPRES").trim();
System.out.println(codempresas +" - "+ dscempresas);
}//while rs1
rs1.close();
ResultSet rs2 = stmt.executeQuery(sql2);
while(rs2.next())
{
codlinha = rs2.getString("COD_LINHA").trim();
dsclinha = rs2.getString("DSC_LINHA").trim();
codempresas = rs2.getString("ID_EMPRESA").trim();
System.out.println(codempresas +" - "+ dscempresas +" - "+ codempresas);
}//while rs2
rs2.close();
ResultSet rs3 = stmt.executeQuery(sql3);
while(rs3.next())
{
codfamilia = rs3.getString("ID_FAMILIA").trim();
dscfamilia = rs3.getString("FAMILIA").trim();
codlinha = rs3.getString("COD_LINHA").trim();
System.out.println(codfamilia +" - "+ dscfamilia +" - "+ codlinha);
}//while rs3
rs3.close();
ResultSet rs4 = stmt.executeQuery(sql4);
while(rs4.next())
{
codproduto = rs4.getString("ID_PRODUTO");
dscproduto = rs4.getString("PRODUTO");
codfamilia = rs4.getString("ID_FAMILIA");
System.out.println(codproduto +" - "+ dscproduto +" - "+ codfamilia);
System.out.println(codproduto);
}//while rs4
rs4.close();
conn.close();
pstmt.close();
con.close();
}//public
}//public