ViniGodoy, desculpe pelo post.
Mais o que você me disse a nível de código como seria? eu estou inciando e tenho ainda um pouco de dificuldade, vou posta meu código abaixo pra você me explicar o como puder ok? se tiver alguma sugestão para melhora-lo será bem vindo.
package gui;
import com.linuxense.javadbf.*;
import <a href="http://java.io">java.io</a>.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import repositorio.ConectaBancoMulti;
public class dbf{
public static void main( String args[])
throws DBFException, IOException, SQLException {
String tabelas[] = {"SD2020","SF2020","SZT020","SB1020","SA3020","SA1020"};
String filiais[] = {"('18','24','34')","'35'"};
PreparedStatement pstatement;
ResultSet resultado;
int i = 0;
pstatement = ConectaBancoMulti.AbriConexao().prepareStatement(“select * from siga.”+tabelas[0]+" where “+tabelas[0].substring(1,3)+”_FILIAL in “+ filiais[0]
+” and “+tabelas[0].substring(1,3)+”_EMISSAO between ‘20120102’ and ‘20120102’"
+" order by “+tabelas[0].substring(1,3)+”_EMISSAO"
);
pstatement.executeQuery();
resultado = pstatement.executeQuery();
DBFField fields[] = new DBFField[resultado.getMetaData().getColumnCount()-3];
// Criando colunas
for (int t = 1; t <= resultado.getMetaData().getColumnCount();t++) {
fields[i] = new DBFField();
if (t == 134){ // Ao chegar na coluna 134 avançe mais 3.
t=t+3;
fields[i].setName(resultado.getMetaData().getColumnName(t));
}else{
fields[i].setName(resultado.getMetaData().getColumnName(t));
}
fields[i].setDataType(DBFField.FIELD_TYPE_C);
fields[i].setFieldLength(20);
i++;
}
DBFWriter writer = new DBFWriter();
writer.setFields(fields);
// Criou as colunas
i=0;
Object rowData[] = new Object[fields.length];
while (resultado.next()){
rowData[i] = resultado.getString(i+1);
writer.addRecord(rowData); // Aqui da problema.
i++;
}
FileOutputStream fos = new FileOutputStream(“C:\Bases\Alianca\Teste.dbf”);
writer.write(fos);
fos.close();
}
}