我想比较当前日期和我保存在数据库中的日期。当数据库中的日期从当前日期开始已经过了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
答案 0 :(得分:0)
您不必要地使用Convert.ToDateTime
将已经是Today
的{{1}}转换为Date
。另一方面,Date
返回一个Reader(2)
,您没有转换为Object
。
但是为什么要在VB中进行此比较?您返回的记录数量可能很高,您将不得不丢弃它们。在SQL中进行比较。
Date