Jump to content
drcc

Subtrair DATAS

Recommended Posts

drcc

ora boas, é o seguinte, eu tenho 2 datepicker e queria saber o intervalo de dias entre o datepicker 1 e o 2....  (eu estou a usar o VB 2010 com o wpf)

Cumprimentos.  :)

Share this post


Link to post
Share on other sites
Caça

Tenta isto

Dim Data1 As New DateTime(2011, 3, 13)
Dim Data2 As New DateTime(2011, 3, 14)
Console.WriteLine((Data2 - Data1).TotalDays)


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
drcc

tipo, eu pús assim....

Dim Data1 As New DateTime
        Dim Data2 As New DateTime
        Data1 = DatePicker1.Text
        Data2 = DatePicker2.Text
        Label18.Content = ((Data2 - Data1).TotalDays)

mas dá-me um erro que é o seguinte: "Conversion from string "" to type 'Date' is not valid."

Share this post


Link to post
Share on other sites
Caça

Coloca assim

Label18.Text = ((DatePicker2.Value.Date - DatePicker1.Value.Date).TotalDays)


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
drcc

pois mas o WPF não permite usar o value.date, e não encontro alternativa a isso...

eu tentei com DatePicker2.DisplayDate.Date ejá não dá erro, mas tem como valor zero...

obrigado pela atenção :)

Share this post


Link to post
Share on other sites
Caça

Desculpa, aqui tens

Label18.Content = ((DatePicker2.SelectedDate.Value - DatePicker1.SelectedDate.Value).TotalDays)


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
drcc

pois eu tinha exprimentado assim, mas dá um erro:  "Nullable object must have a value."

sabés de que sejá?

Share this post


Link to post
Share on other sites
Caça

Está a dar esse erro porque não seleccionaste nenhuma data


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
drcc

pois, era um código que estava mal posicionado... muito obrigado,

tenho outra questão agora, xD, eu queria gravar as datas desses datapicker's na base de dados em mysql, mas aparece na BD assim: "0000-00-00", talvez sejá do formato?

Share this post


Link to post
Share on other sites
Caça

Sim, depende como estás a fazer a query.

Se não for com parâmetros tens de a formatar para "yyyy-MM-dd"


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
drcc
 conn.Open()
            query.Connection = conn
            query.CommandText = "INSERT INTO quarto (Data_inicio, Data_fim, Tipo, N_quarto, Id_cliente, Quarto, Andar, N_adulto, N_crianca) VALUES ('" & DatePicker1.SelectedDate.Value & "','" & DatePicker2.SelectedDate.Value & "','" & 1 & "','" & Label24.Content & "','" & TextBox1.Text & "','" & ComboBox1.Text & "','" & Label29.Content & "','" & ComboBox2.Text & "','" & ComboBox3.Text & "')"
            resultado = query.ExecuteReader()
            Label19.Content = ("Registado com sucesso!")
            limpo()
            conn.Close()

Share this post


Link to post
Share on other sites
Caça

Coloca assim

query.CommandText = "INSERT INTO quarto (Data_inicio, Data_fim, Tipo, N_quarto, Id_cliente, Quarto, Andar, N_adulto, N_crianca) VALUES ('" & Format(DatePicker1.SelectedDate.Value, "yyyy-MM-dd") & "','" & Format(DatePicker2.SelectedDate.Value, "yyyy-MM-dd") & "','" & 1 & "','" & Label24.Content & "','" & TextBox1.Text & "','" & ComboBox1.Text & "','" & Label29.Content & "','" & ComboBox2.Text & "','" & ComboBox3.Text & "')"


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.