比较Visual Basic中的日期

时间:2019-03-10 16:38:35

标签: sql-server vb.net date

我想比较当前日期和我保存在数据库中的日期。当数据库中的日期从当前日期开始已经过了30天时,我想显示一条消息,表明该期限已过,客户需要付款。下面是我的代码

con = New SqlConnection
con.ConnectionString = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Documents\visual studio 2015\Projects\Database1.mdf;Integrated Security=True;"

Dim READER As SqlDataReader
Dim date1 As Date

date1 = Convert.ToDateTime(Today)

Try
    For i As Integer = 0 To DataGridView1.Rows.Count - 1
        con.Open()

        COMMAND = New SqlCommand("SELECT distinct Surname,Money,Date from [Table] where money!=N'no'", con)
        READER = COMMAND.ExecuteReader

        While READER.Read()
            If date1 > READER(2).AddDays(30) Then
                MessageBox.Show("The customer N'" & TextBox1.Text & " has debts N'" & ComboBox3.SelectedItem)
            End If
        End While

        con.Close()
    Next

    con.Close()

Catch ex As SqlException
    MessageBox.Show(ex.Message)
Finally
    con.Dispose()
End Try

1 个答案:

答案 0 :(得分:0)

您不必要地使用Convert.ToDateTime将已经是Today的{​​{1}}转换为Date。另一方面,Date返回一个Reader(2),您没有转换为Object

但是为什么要在VB中进行此比较?您返回的记录数量可能很高,您将不得不丢弃它们。在SQL中进行比较。

Date