Boa noite galera!!
Então a duvida da vez é a seguinte …
Preciso fazer um select no bando de dados (SQL SERVER)comparando a data que meu sistema grava com a data atual e somente listar os que a data inserida forem >= a data de hoje!
gravo na tabela do banco de dados no seguinte formato
insert into loc_armario (data_devo)values(18/09/2012)
e preciso comparar o comando date do sql com este atributo !
Abraços boa noite
nao sei se vai te ajudar mais eu utilizei essa classe para data
espero ajudar
[code]import java.text.SimpleDateFormat;
import java.util.Date;
public class Data {
String mes, dia, ano, dia_semana, hora;
SimpleDateFormat horaformatada = new SimpleDateFormat(“hh:mm:ss”);
public void le_hora() {
Date horaAtual = new Date();
hora = horaformatada.format(horaAtual);
}
public void le_data() {
Date data = new Date();
//mes = "" + data.getMonth();//esse metodo nao ta sendo mais utilizado mais vale a intesao
dia = "" + data.getDate();
ano = "" + (1900 + data.getYear());
//dia_semana = "" + data.getDay();
switch(data.getDay()){
case 0 : dia_semana = "Domigo Feira"; break;
case 1 : dia_semana = "Segunda Feira"; break;
case 2 : dia_semana = "Terça Feira"; break;
case 3 : dia_semana = "Quarta Feira"; break;
case 4 : dia_semana = "Quinta Feira"; break;
case 5 : dia_semana = "Sexta Feira"; break;
case 6 : dia_semana = "Sábado Feira"; break;
}
switch(data.getMonth()){
case 0 : mes = "1"; break;
case 1 : mes = "2"; break;
case 2 : mes = "3"; break;
case 3 : mes = "4"; break;
case 4 : mes = "5"; break;
case 5 : mes = "6"; break;
case 6 : mes = "7"; break;
case 7 : mes = "8"; break;
case 8 : mes = "9"; break;
case 9 : mes = "10"; break;
case 10 : mes = "11"; break;
case 11 : mes = "12"; break;
}
}
}[/code]
e utilizei esse codigo para mandar o valor para o bd la dentro do codigo botao novo quando eu salvo, salva com os valores que estao dentro do TextField
agora indico os dados
agora crio um objeto
//se presiso inporta a clase data
//aki fica depois de initComponents();
Data mostra_data;
mostra_data = new Data();
[quote=ricardoal]nao sei se vai te ajudar mais eu utilizei essa classe para data
espero ajudar
[code]import java.text.SimpleDateFormat;
import java.util.Date;
public class Data {
String mes, dia, ano, dia_semana, hora;
SimpleDateFormat horaformatada = new SimpleDateFormat(“hh:mm:ss”);
public void le_hora() {
Date horaAtual = new Date();
hora = horaformatada.format(horaAtual);
}
public void le_data() {
Date data = new Date();
//mes = "" + data.getMonth();//esse metodo nao ta sendo mais utilizado mais vale a intesao
dia = "" + data.getDate();
ano = "" + (1900 + data.getYear());
//dia_semana = "" + data.getDay();
switch(data.getDay()){
case 0 : dia_semana = "Domigo Feira"; break;
case 1 : dia_semana = "Segunda Feira"; break;
case 2 : dia_semana = "Terça Feira"; break;
case 3 : dia_semana = "Quarta Feira"; break;
case 4 : dia_semana = "Quinta Feira"; break;
case 5 : dia_semana = "Sexta Feira"; break;
case 6 : dia_semana = "Sábado Feira"; break;
}
switch(data.getMonth()){
case 0 : mes = "1"; break;
case 1 : mes = "2"; break;
case 2 : mes = "3"; break;
case 3 : mes = "4"; break;
case 4 : mes = "5"; break;
case 5 : mes = "6"; break;
case 6 : mes = "7"; break;
case 7 : mes = "8"; break;
case 8 : mes = "9"; break;
case 9 : mes = "10"; break;
case 10 : mes = "11"; break;
case 11 : mes = "12"; break;
}
}
}[/code]
e utilizei esse codigo para mandar o valor para o bd la dentro do codigo botao novo quando eu salvo, salva com os valores que estao dentro do TextField
agora indico os dados
agora crio um objeto
//se presiso inporta a clase data
//aki fica depois de initComponents();
Data mostra_data;
mostra_data = new Data();
edtData.getText()//vai pegar os resultado do campo
tudo isso so pega se o codigo estiver bem estruturado
se voce querer eu posto o codigo de salvar.[/quote]
Então agradeço a ateçao mas é o seguinte eu tenho um campo de data ja mas ele grava no bd em varchar no formato “XX/XX/XXXX” onde xx são dias mes e ano.
tenho que transformar esse campo pra gravar no formato ou date no banco de dados ou smalldatetime pra conseguir comparar etendeu? quando eu to teentando comprar esses tipos de atributo não ta dando certo , o vaor retornado do selecet que o jerson citou não é valido mas quero utilizar esse comando mesmo select data_devo from loc_armarios where data_devo>= getdate()só quero conseguir comparar o atributo que eu to gravando com o getdate . abraços
A inserção ou select no SQL Server, se a instalação for a padrão, se dá no formato “AAAAMMDD” (entre aspas duplas), se o seu campo for DATETIME verifique isso (faça SELECT GETDATE() e veja o que retorna).
Agora, se na sua tabela esta usando VARCHAR, caraca, nem sei … vai ter que separar dia/mes/ano, converter e comparar com hoje … vai ser uma buxa …
Voce faz esse insert mesmo " insert into loc_armario (data_devo)values(18/09/2012) " ??? Esta funcionando?
sim, eu botei assim para quando eu clicar no btnNovo o jTextField o ganha os valores de//importei a class Data
//e crie um objeto mostra_data
Data mostra_data;
public jFrame(){
initComponents();
mostra_data = new Data();
}
//no botao novo fiz assim
//no casso eu madei a data la para o jTextField edtData
edtData.setText(mostra_data.dia + " / " + mostra_data.mes + " / " + mostra_data.ano);
[quote=jerson]A inserção ou select no SQL Server, se a instalação for a padrão, se dá no formato “AAAAMMDD” (entre aspas duplas), se o seu campo for DATETIME verifique isso (faça SELECT GETDATE() e veja o que retorna).
Agora, se na sua tabela esta usando VARCHAR, caraca, nem sei … vai ter que separar dia/mes/ano, converter e comparar com hoje … vai ser uma buxa …
Voce faz esse insert mesmo " insert into loc_armario (data_devo)values(18/09/2012) " ??? Esta funcionando?[/quote]
cara sim eu consigo mas eu só consigo inserir desse modo porque no banco de dados essa varavel está como varchar!