【问题标题】:How to calculate expiration date with VB.NET and SQL Server using Visual Studio 2019 and SQL SERVER Enterprise 13?如何使用 Visual Studio 2019 和 SQL SERVER Enterprise 13 使用 VB.NET 和 SQL Server 计算到期日期?
【发布时间】: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


    【解决方案1】:

    将日期差异计算添加到 SQL 查询中会更容易。

    SELECT AlvaraNumero,NomeEmpresa,ContactoEmpresa,ValidadeLicenca, DATEDIFF(YEAR, ValidadeLicenca , GETDATE()) [drestantes] FROM EmissaoLicenca
    

    【讨论】:

    • 谢谢大佬,解决了我的问题。这是我在这里的第一个问题。 :D
    猜你喜欢
    • 2022-08-15
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多