Как я могу получить месяц на основе текущего месяца в команде oledb? - PullRequest
0 голосов
/ 26 августа 2018

У меня сейчас проблема, мне нужно закончить систему, в которой я сейчас работаю для обучения на рабочем месте в качестве студента. Я хочу получить месяц в Excel, основываясь на текущем месяце, с помощью oledbdatareader и поместить его на ярлык

пример:

У меня 18/18/2018 до 18/12/2018, мне нужно получить записи с 18.10.2017.

вот мой код

            string path = Server.MapPath("login.xlsx");
            String conString = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;ReadOnly=True;HDR=Yes;\"";

            using (OleDbConnection con = new OleDbConnection(conString))
            {

                OleDbCommand com = new OleDbCommand("select [Sheet2$].[EMPLOYEE_NO],[Sheet2$].[EMPLOYEE_NAME],[Sheet2$].[HIRED_DATE],[Sheet2$].[REGULIZED_DATE],[Sheet2$].[POSITION]," +
                    "[Sheet3$].[EMPLOYEE_NO],[Sheet3$].[DATE],[Sheet3$].[REM_BALANCE]," +
                    "[Sheet4$].[EMPLOYEE_NO],[Sheet4$].[DATE],[Sheet4$].[REM_BALANCE]" +
                    " from ([Sheet2$] INNER JOIN [Sheet3$] ON [Sheet2$].[EMPLOYEE_NO]=[Sheet3$].[EMPLOYEE_NO] )" +
                    "INNER JOIN [Sheet4$] ON [Sheet3$].[EMPLOYEE_NO]=[Sheet4$].[EMPLOYEE_NO] where [Sheet2$].[EMPLOYEE_NO]=" + session + "", con);

                con.Open();
                OleDbDataReader read = com.ExecuteReader();

                while (read.Read())
                {
                    Label8.Text = read["EMPLOYEE_NAME"].ToString();
                    Label9.Text = read["POSITION"].ToString();
                    Label10.Text = string.Format("{0:dd/MM/yyyy}", read["HIRED_DATE"]);
                    Label11.Text = string.Format("{0:dd/MM/yyyy}", read["REGULIZED_DATE"]);
                    Label12.Text = Convert.ToDateTime(read["Sheet3$.DATE"]).ToString("dd/MM/yyyy");
                    Label13.Text = read["Sheet3$.REM_BALANCE"].ToString();
                }
...