我正在尝试计算当前日期与从SQL数据库检索的日期之间的差,但是当我尝试分配一个(先前已制成的未分配变量; date
时,似乎出现了一个未分配的局部变量错误。 )在我的using语句之外。
我试图在using语句中创建一个属性,以将值分配给using语句之外的未分配变量,但这似乎没有用,因为我无法引用date
变量。
private bool DoubleEntryValidation()
{
string KPI_ID = comboBoxINSERTIONKPISELECT.GetItemText(comboBoxINSERTIONKPISELECT.SelectedItem);
DateTime date;
DateTime curdate = DateTime.Today;
try
{
using (SqlConnection conn = new SqlConnection(connectionstring().ToString()))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(string.Format("SELECT TOP 1 [Date] from [Input_Table] where [KPI ID] = '{0}' order by [Date] desc",KPI_ID), conn))
{
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
DateTime sqldate = Convert.ToDateTime(reader.GetString(reader.GetOrdinal("Date")));
date = sqldate;
}
}
}
}
}
catch (SqlException ex)
{
MessageBox.Show("Something has gone wrong");
return true;
}
int datediff = Convert.ToInt32(curdate - date);
if (datediff>15)
{
return true;
}
else
{
return false;
}
}
我的预期结果是if语句可以工作并返回true。