Como faço para testar se o valor de rs.getString(“Fase”) é null?
processo.setDescricaoFase(rs.getString("Fase"));
setDescricaoFase não pode receber NULL
Como faço para testar se o valor de rs.getString(“Fase”) é null?
processo.setDescricaoFase(rs.getString("Fase"));
setDescricaoFase não pode receber NULL
if(rs.getString("Fase")==null){
processo.setDescricaoFase ("");
}else{
processo.setDescricaoFase(rs.getString("Fase"));
}
Só podemos pegar o get uma vez, depois não tem mais valor.
Como se chama aquele Iif() no java?
Alguma coisa tipo (;
Não me lembro.
Operator
<condition> ? <result_iftrue> : <result_iffalse>
Valeu!
Tem o método wasNull do ResultSet. Ele checa se o get imediatamente anterior veio nulo. É útil em bases que usam zero e null como o mesmo valor.
OK!
Estou testando
String fase;
fase = rs.getString("Fase");
if (rs.wasNull()) {
processo.setDescricaoFase("");
} else {
processo.setDescricaoFase(fase);
}
Quando faz isso
fase = rs.getString("Fase");
Recebo erro ----------> java.sql.SQLException: No data found
Passa o código do método todo.
Tá aí!
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
try {
//DBF ============================
//Registrar o Driver JDBC do banco de dados, neste caso estou usando o DBF
String conexao = "sun.jdbc.odbc.JdbcOdbcDriver";
//Carrega o Driver a ser utilizado
Class.forName(conexao).newInstance();
//Indica o caminho do arquivo
String caminho = "C:\Sistemas\Java\DeskTop\TMSystem\orthers\BackupBancoDados\DBF´s";
// String de conexao para o DBF
//String url = "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=" + caminho;
String url = "jdbc:odbc:Driver={Driver do Microsoft dBase (*.dbf)};DBQ=" + caminho;
//Faz um SELECT no arquivo
String sql = "SELECT * FROM PA";
//OBS.: Não coloque a extensão do arquivo, deixe sem .DBF
//Abre uma conexão com o arquivo
Connection conn = DriverManager.getConnection(url);
// recuperar a classe Stamtemant a partir da conexao criada
Statement stmt = conn.createStatement();
//Retorna o resultado da Query
ResultSet rs = stmt.executeQuery(sql);
//Pegar o valor da(s) coluna(a) já no tipo desejado String, int, Date, etc...
// //DBF ===================================
// //Registrar o Driver JDBC do banco de dados, neste caso estou usando o DBF
// String conexao = "com.hxtt.sql.dbf.DBFDriver";
// //Carrega o Driver a ser utilizado
// Class.forName(conexao).newInstance();
// //Indica o caminho do arquivo
// String caminho = "C:\Sistemas\Java\DeskTop\TMSystem\orthers\BackupBancoDados\DBF´s";
// // String de conexao para o DBF
// String url = "jdbc:DBF:/" + caminho;
// //Faz um SELECT no arquivo
// String sql = "SELECT * FROM PA";
// //OBS.: Não coloque a extensão do arquivo, deixe sem .DBF
// //Abre uma conexão com o arquivo
// Connection conn = DriverManager.getConnection(url);
// // recuperar a classe Stamtemant a partir da conexao criada
// Statement stmt = conn.createStatement();
// //Retorna o resultado da Query
// ResultSet rs = stmt.executeQuery(sql);
// //Pegar o valor da(s) coluna(a) já no tipo desejado String, int, Date, etc...
//
// Integer numero = new Integer("0");
// Short ano = new Short("0");
// String id = new String("");
// Float area_ha = new Float("0.0");
// String fase = new String("");
// String nome = new String("");
// String ult_evento = new String("");
// Short codigoevento = new Short("0");
// String descricaoevento = new String("");
// GregorianCalendar dataevento = new GregorianCalendar(2008, 0, 1);
// String subs = new String("");
// String uso = new String("");
// String uf = new String("");
// GregorianCalendar datainclusaoregistro = new GregorianCalendar(2008, 9, 6);
// GregorianCalendar dataalteracaoregistro = new GregorianCalendar(2008, 9, 6);
// Short matriculausuario = new Short("1");
String ultimoEvento = new String("");
Processos processo = new Processos();
String ID = new String("");
while (rs.next()) {
ID = rs.getString("ID");
if (ID.equals("{0AA8DC86-15B8-4EED-A684-FF2A7AC4A3E7}")) {
processo.setNumeroProcesso(rs.getInt("Numero"));
processo.setAnoProcesso(rs.getShort("Ano"));
// processo.setID_RegistroProcesso(rs.getString("ID"));
processo.setID_RegistroProcesso(ID);
processo.setArea_HA(rs.getFloat("Area_HA"));
// processo.setDescricaoFase(rs.getString("Fase").replace("¦", "Ç").replace("+", "Ã").replace("┴", "Á").replace("╩", "Ê").replace("╔", "É"));
// processo.setRequerente(rs.getString("Nome").replace("¦", "Ç").replace("+", "Ã").replace("┴", "Á").replace("╩", "Ê").replace("╔", "É"));
// ultimoEvento = rs.getString("Ult_Evento").replace("¦", "Ç").replace("+", "Ã").replace("┴", "Á").replace("╩", "Ê").replace("╔", "É");
processo.setDescricaoFase(rs.getString("Fase"));
processo.setRequerente(rs.getString("Nome"));
ultimoEvento = rs.getString("Ult_Evento");
processo.setCodigoEvento(new Short(ultimoEvento.substring(0, ultimoEvento.indexOf(" - "))));
processo.setDescricaoEvento(ultimoEvento.substring(ultimoEvento.indexOf(" - ") + 3, ultimoEvento.length() - 14));
processo.setDataEvento(new GregorianCalendar(Integer.parseInt(ultimoEvento.substring(ultimoEvento.length() - 10, ultimoEvento.length()).substring(6, 10)),
Integer.parseInt(ultimoEvento.substring(ultimoEvento.length() - 10, ultimoEvento.length()).substring(3, 5)) - 1,
Integer.parseInt(ultimoEvento.substring(ultimoEvento.length() - 10, ultimoEvento.length()).substring(0, 2))));
processo.setSubstancia(rs.getString("Subs"));
processo.setAplicacao(rs.getString("Uso"));
processo.setUF(rs.getString("UF"));
// processo.setDataInclusaoRegistro(new GregorianCalendar().setTime(new Date()));
// processo.setDataAlteracaoRegistro(new GregorianCalendar());
processo.setDataInclusaoRegistro(new GregorianCalendar(2008, 9, 6));
processo.setDataAlteracaoRegistro(new GregorianCalendar(2008, 9, 6));
processo.setMatriculaUsuario(new Short("1"));
System.out.println(processo.getID_RegistroProcesso() + " - " + processo.getDescricaoFase() + " - " + processo.getRequerente() + " - " + processo.getDescricaoEvento() + " - ");
ManutencaoTabela.IncluiRegistro(processo, Conexao);
}
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
System.out.println("Oops-> " + e);
}
}
[quote=prsantos] String fase;
fase = rs.getString("Fase");
if (rs.wasNull()) {
processo.setDescricaoFase("");
} else {
processo.setDescricaoFase(fase);
}
Quando faz isso
fase = rs.getString("Fase");
Recebo erro ----------> java.sql.SQLException: No data found
[/quote]
Desculpa minha ignorância, mas Exception de NDF não é falta de dados no Banco de Dados? Ou seja, ele não está nulo, só não tem dados dentro dele.
Andre vá entender!
Pois é issi o que acontece.
Não sei se é o correto a ser feito, mas resolve rs.
String fase = "";
try {
fase = rs.getString("fase");
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
processo.setDescricaoFase(fase);
[]'s
Puta-que-paríu!
Desculpe-me o desabafo, pois só falando assim.
Sabem o que estava acontecendo!?
Não irão imaginar. Quando estava debugando no Netbeans, colocava no Observador isso “rs.getString(“fase”)”, contudo, já havia pego o resultado uma vez, quando tentanva apartir da aplicação, dizia que não tinha encontrado dado.
Pois é meus camaradas, só gostando muito mesmo da PROFISSÃO.
Valeu pela força.
Agora voltarei ao outro tópico de conversão de Charset, está esá me tirando a paciência.
[quote=prsantos]Puta-que-paríu!
Desculpe-me o desabafo, pois só falando assim.
Sabem o que estava acontecendo!?
Não irão imaginar. Quando estava debugando no Netbeans, colocava no Observador isso “rs.getString(“fase”)”, contudo, já havia pego o resultado uma vez, quando tentanva apartir da aplicação, dizia que não tinha encontrado dado.
Pois é meus camaradas, só gostando muito mesmo da PROFISSÃO.
Valeu pela força.
Agora voltarei ao outro tópico de conversão de Charset, está esá me tirando a paciência.
[/quote]
kkkkkkkkkkkkkkkk ossos do oficio …
[]'s