【发布时间】:2022-11-24 09:07:50
【问题描述】:
我试图在 DataGridView 单元格上显示一个值来表示两个日期之间的剩余天数,我正在使用 DateDiff 但它返回一个空单元格,我不知道我遗漏了什么或做错了什么。 我的代码如下,请帮忙。
谢谢你。
Private Sub ValidadeLicencas_Load(sender As Object, e As EventArgs) 处理 Me.Load
Conectar()
Dim cmd As New SqlCommand("SELECT AlvaraNumero,NomeEmpresa,ContactoEmpresa,ValidadeLicenca FROM EmissaoLicenca", conexoes)
Dim da As New SqlDataAdapter
da.SelectCommand = cmd
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridViewValidade.DataSource = dt
conexoes.Close()
DataGridViewValidade.AllowUserToAddRows = False
Dim ColDias As New DataGridViewTextBoxColumn
ColDias.Name = "drestantes"
ColDias.HeaderText = "Dias Restantes"
ColDias.Width = 150
DataGridViewValidade.Columns.Insert(4, ColDias)
For Each row As DataGridViewRow In DataGridViewValidade.Rows
Dim expdata_v As Date = row.Cells("ValidadeLicenca").Value
Dim calcdias_v As Integer = DateDiff(DateInterval.Year, Date.Now, expdata_v)
row.Cells("drestantes").Value = calcdias_v
Next
End Sub
结果应该是这样的:
| AlvaraNumero | NomeEmpresa | ContactoEmpresa | ValidadeLicenca | Dias Restantes |
|---|---|---|---|---|
| AlvaraNumero1 | NomeEmpresa1 | ContactoEmpresa1 | 30/11/2022 | 8 |
| AlvaraNumero2 | NomeEmpresa2 | ContactoEmpresa2 | 25/11/2022 | 3 |
但是我得到了这个。
| AlvaraNumero | NomeEmpresa | ContactoEmpresa | ValidadeLicenca | Dias Restantes |
|---|---|---|---|---|
| AlvaraNumero1 | NomeEmpresa1 | ContactoEmpresa1 | 30/11/2022 | |
| AlvaraNumero2 | NomeEmpresa2 | ContactoEmpresa2 | 25/11/2022 |
【问题讨论】:
标签: sql-server vb.net datediff