在using语句中分配未分配的变量

时间:2019-07-02 21:23:52

标签: c# winforms

我正在尝试计算当前日期与从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。

0 个答案:

没有答案