Tenho uma tabela…
Nela eu quero que mostre todos os registros que possuem a coluna “TK”+mes com algum registo.
Resumindo, como faco para declarar que o parametro mes seja Janeiro, fevereiro, marco, abril, etc. Ou seja, variado entre janeiro e dezembro…???
Qual a sintaxe?
publicvoidpreencheJtable2(Stringmes){jTableTK2.getColumnModel().getColumn(0).setWidth(40);jTableTK2.getColumnModel().getColumn(1).setWidth(40);jTableTK2.getColumnModel().getColumn(2).setWidth(40);jTableTK2.getColumnModel().getColumn(3).setWidth(40);jTableTK2.getColumnModel().getColumn(4).setWidth(40);DefaultTableModelmodelo=(DefaultTableModel)jTableTK2.getModel();modelo.setRowCount(0);try{Stringmes=?????//como escrevo isso?? Como faz para o mes ser todos desde janeiro ate dezembro??{obj_access.executeSQL("select * from Contratos where TK"+mes+" IS NOT NULL");while(obj_access.resultset.next()){modelo.addRow(newObject[]{obj_access.resultset.getString("Contrato"),obj_access.resultset.getString("Seller"),obj_access.resultset.getString("Buyer"),obj_access.resultset.getString(mes),obj_access.resultset.getString("TK"+mes),obj_access.resultset.getString("DataContrato"),obj_access.resultset.getString("ContratoCod")});}obj_access.resultset.first();}}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);}}
A tabela contratos possui o mes (Janeiro), o TK do mes (TKJaneiro), o mes (Fevereiro), o TK do mes de fev (TKFevereiro). e assim por diante
B
Bruno_Laturner
Bem o mês tem que ser um de cada vez, não dá pra fazer todos ao mesmo tempo, se quiser coletar os dados de todos os meses dessa forma, consulte várias vezes. Ou faça uma SQL para tudo.
Pode tentar fazer um enum de meses para defini-los.
S
Samadhi
Resolvi já…
publicvoidpreencheJtable2(){jTableTK2.getColumnModel().getColumn(0).setWidth(40);jTableTK2.getColumnModel().getColumn(1).setWidth(40);jTableTK2.getColumnModel().getColumn(2).setWidth(40);jTableTK2.getColumnModel().getColumn(3).setWidth(40);jTableTK2.getColumnModel().getColumn(4).setWidth(40);DefaultTableModelmodelo=(DefaultTableModel)jTableTK2.getModel();modelo.setRowCount(0);try{mes="Janeiro";if(mes.equals("Janeiro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Fevereiro";}if(mes.equals("Fevereiro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Março";}if(mes.equals("Março")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Abril";}if(mes.equals("Abril")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Maio";}if(mes.equals("Maio")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Junho";}if(mes.equals("Junho")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Julho";}if(mes.equals("Julho")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Agosto";}if(mes.equals("Agosto")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Setembro";}if(mes.equals("Setembro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Outubro";}if(mes.equals("Outubro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Novembro";}if(mes.equals("Novembro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();mes="Dezembro";}if(mes.equals("Dezembro")){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC();}}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro ao listar no JTable2 "+erro);}}publicvoidABC()throwsSQLException{DefaultTableModelmodelo=(DefaultTableModel)jTableTK2.getModel();//modelo.setRowCount(0);while(obj_access.resultset.next()){modelo.addRow(newObject[]{obj_access.resultset.getString("Contrato"),obj_access.resultset.getString("Seller"),obj_access.resultset.getString("Buyer"),mes,obj_access.resultset.getString(mes),obj_access.resultset.getString("TK"+mes),obj_access.resultset.getString("DataContrato")});}}
até que nao ficou tao mal nao acham???
S
Samadhi
No momento deu certo, porem, no jTable, ele nao esta listando todos os registros que estou pedindo.
A consulta de Janeiro:… “select * from Contratos where Janeiro IS NOT NULL” …está faltando a ultima linha do banco de dados…
A consulta de Março por exemplo está faltando o primeiro registro…
Se alguem soubesse porque isso acontece, poderia compartilhar conosco por favor???
B
Bruno_Laturner
:?
String[]meses={"Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"};for(Stringmes:meses){obj_access.executeSQL("select * from Contratos where "+mes+" IS NOT NULL");obj_access.resultset.first();ABC(mes);}
B
Bruno_Laturner
naoki420:
No momento deu certo, porem, no jTable, ele nao esta listando todos os registros que estou pedindo.
A consulta de Janeiro:… “select * from Contratos where Janeiro IS NOT NULL” …está faltando a ultima linha do banco de dados…
A consulta de Março por exemplo está faltando o primeiro registro…
Se alguem soubesse porque isso acontece, poderia compartilhar conosco por favor???
Não sei como esse obj_access está implementado p/ pode dizer. Ligue o debugador da tua IDE e veja linha a linha o que está acontecendo.
S
Samadhi
resolvi
eh soh tirar o obj_access.resultset.first(); que vem antes do ABC();
S
Samadhi
Viver eh aprender neh…
voce transformou o mes em meses ???
facil assim??
Agora sim ficou bom!!!
ahuhau, valeu
B
Bruno_Laturner
naoki420:
voce transformou o mes em meses ???
facil assim??
Não.
Leia isso como “Para cada mes em meses, faça estas operações”
S
Samadhi
Pessoal
estou com uma dificuldade de sql.
tenho a minha expressao normal com apenas um campo:
“select * from Contratos where “+mes+” IS NOT NULL” ;
Ok
Porem, como faço para mostrar os registros que alem de serem Null
no campo1( “+mes+” ) tambem sejam diferentes do campo ( TK"+mes+") ???
seria assim:
“select * from Contratos where “+mes+” IS NOT NULL AND != TK”+mes;
???
B
Bruno_Laturner
select *
from contratos
where mes is not null
and mes <> TKmes
S
Samadhi
Valeu Brunao…
Abaixo ficou ainda melhor.
Assim mostra onde o TKmes é diferente mesmo sem nenhum dado dentro.
"select * from Contratos where (mes is not null and mes <> TKmes) or (mes is not null and TKmes is null)"
Abaixo mostra onde o TKmes é diferente apenas quando o TKmes tem algum dado dentro.
"select * from Contratos where (mes is not null and mes <> TKmes)"