根据日期时间获取值 [英] get values based on date time

查看:101
本文介绍了根据日期时间获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要实现的是以下几点: -

1-获取具有从数据库当前日期(今天)的记录。
2 - 如果数据库不必须从今天开始记录我希望它来自前一天得到它。
3,如果前一天没有我希望它从当天让他们在此之前,等等任何记录。

 尝试
    {
        字符串日期= DateTime.Now.ToShortDateString();
        conn.Open();
        //字符串str =插入到表1(标题,DATE_,WWW,猫)VALUES('+ TextBox1.Text +,+ DateTime.Now.ToShortDateString()+,+ TextBox2.Text +','+ DropDownList1.SelectedItem.Text +');
        ////字符串str =INSERT INTO表1(标题,DATE_,WWW)VALUES('DDDDDDD','AAAAAAA','qqqqqq');
        字符串str =            //选择从表1 WHERE猫= 1,显示日期='+日期+'ORDER BY日期E;
        SELECT * FROM表1 WHERE猫= 1,显示日期E = @dt ORDER BY DESC显示日期;        的SqlCommand objcmd =新的SqlCommand(STR,康涅狄格州);        objcmd.Parameters.AddWithValue(@ DT,日期);        SqlDataAdapter的DA1 =新SqlDataAdapter的(objcmd);
        DataTable的DT =新的DataTable();        da1.Fill(DT);
        // DataRow的博士=新的DataRow();
        //的DataRow博士= ds.Tables [0] .Rows [0];        INT ID = 1;
        的foreach(在dt.Rows的DataRow博士)
        {
            如果(ID == 1)
            {
                    ll1.Text =博士[1]的ToString();
                    l1.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 2)
            {
                ll2.Text =博士[1]的ToString();
                l2.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 3)
            {
                ll3.Text =博士[1]的ToString();
                l3.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 4)
            {
                ll4.Text =博士[1]的ToString();
                l4.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 5)
            {
                ll5.Text =博士[1]的ToString();
                l5.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 6)
            {
                ll6.Text =博士[1]的ToString();
                l6.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 7)
            {
                ll7.Text =博士[1]的ToString();
                l7.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 8)
            {
                ll8.Text =博士[1]的ToString();
                l8.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 9)
            {
                ll9.Text =博士[1]的ToString();
                l9.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 10)
            {
                ll10.Text =博士[1]的ToString();
                l10.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 11)
            {
                ll11.Text =博士[1]的ToString();
                l11.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 12)
            {
                ll12.Text =博士[1]的ToString();
                l12.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 13)
            {
                ll13.Text =博士[1]的ToString();
                l13.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 14)
            {
                ll14.Text =博士[1]的ToString();
                l14.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 15)
            {
                ll15.Text =博士[1]的ToString();
                l16.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 16)
            {
                ll16.Text =博士[1]的ToString();
                l16.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 17)
            {
                ll17.Text =博士[1]的ToString();
                l17.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 18)
            {
                ll18.Text =博士[1]的ToString();
                l18.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID = 19)
            {
                ll19.Text =博士[1]的ToString();
                l19.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 20)
            {
                ll20.Text =博士[1]的ToString();
                l20.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 21)
            {
                ll21.Text =博士[1]的ToString();
                l21.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 22)
            {
                ll22.Text =博士[1]的ToString();
                l22.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 23)
            {
                ll23.Text =博士[1]的ToString();
                l23.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            如果(ID == 24)
            {
                ll24.Text =博士[1]的ToString();
                l24.ImageUrl = @的照片\\+ DR [1]的ToString()+ @JPG;
            }
            ID = ID + 1;
        }
    }
    赶上(异常前)
    {
        lblError.Text =فشلفيإحظار​​الأخبار
    }
    最后
    {
        conn.Close();
    }
}


解决方案

下面是一些code得到从具有任何行(时间倒退)整个第一天的所有项目。这是假定SQL Server 2005或更高版本(你没有说什么DBMS和放大器;您正在使用的版本,请这样做!):

 数据处理为(
   SELECT TOP 1 TIES
      *
   从dbo.table1
   哪里
      猫= 1
      和日期E> =使用DateAdd(日,-5,@dt)
   ORDER BY
      转换(日期,日期E)DESC

选择 *
从数据中
ORDER BY DESC显示日期
;

如果你可以在前端命令行(和你应该),那么你并不需要额外的,外部查询。使用这种 TOP 1领带语法,你不能添加更多的前pressions到内部 ORDER BY ,因为这一条款将改变所选的内容。

您也应该可能仅选择所需的列,而不是一切从表中。

What i want to achieve is the following:-

1- Get the records that have the current date (todays) from the database. 2- if the database doesnt have records from today i want it to get it from the day before. 3- if the day before does not have any records i want it to get them from the day before that and so on.

try
    {
        string date = DateTime.Now.ToShortDateString();
        conn.Open();
        //string str = "insert into Table1 (title , date_ ,www, cat) values  (' " + TextBox1.Text + "','" + DateTime.Now.ToShortDateString() + "','" + TextBox2.Text + "','" + DropDownList1.SelectedItem.Text + "')";
        ////string str = "INSERT INTO Table1  (title,date_,www ) values ('ddddddd','aaaaaaa','qqqqqq')";


        string str =

            //"SELECT   from table1  WHERE  cat = 1 and datee='" + date + "'ORDER BY datee";
        "SELECT * FROM table1 WHERE cat = 1 and datee = @dt ORDER BY datee DESC ";



        SqlCommand objcmd = new SqlCommand(str, conn);

        objcmd.Parameters.AddWithValue("@dt", date);

        SqlDataAdapter da1 = new SqlDataAdapter(objcmd);


        DataTable dt = new DataTable();

        da1.Fill(dt);




        //DataRow dr = new DataRow();
        //DataRow dr = ds.Tables[0].Rows[0];

        int id = 1;
        foreach (DataRow dr in dt.Rows)
        {
            if (id == 1)
            {
                    ll1.Text = dr[1].ToString();
                    l1.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";


            }
            if (id == 2)
            {
                ll2.Text = dr[1].ToString();
                l2.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 3)
            {
                ll3.Text = dr[1].ToString();
                l3.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 4)
            {
                ll4.Text = dr[1].ToString();
                l4.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 5)
            {
                ll5.Text = dr[1].ToString();
                l5.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 6)
            {
                ll6.Text = dr[1].ToString();
                l6.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 7)
            {
                ll7.Text = dr[1].ToString();
                l7.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 8)
            {
                ll8.Text = dr[1].ToString();
                l8.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 9)
            {
                ll9.Text = dr[1].ToString();
                l9.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 10)
            {
                ll10.Text = dr[1].ToString();
                l10.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 11)
            {
                ll11.Text = dr[1].ToString();
                l11.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 12)
            {
                ll12.Text = dr[1].ToString();
                l12.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 13)
            {
                ll13.Text = dr[1].ToString();
                l13.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 14)
            {
                ll14.Text = dr[1].ToString();
                l14.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 15)
            {
                ll15.Text = dr[1].ToString();
                l16.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 16)
            {
                ll16.Text = dr[1].ToString();
                l16.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 17)
            {
                ll17.Text = dr[1].ToString();
                l17.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 18)
            {
                ll18.Text = dr[1].ToString();
                l18.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 19)
            {
                ll19.Text = dr[1].ToString();
                l19.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 20)
            {
                ll20.Text = dr[1].ToString();
                l20.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 21)
            {
                ll21.Text = dr[1].ToString();
                l21.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 22)
            {
                ll22.Text = dr[1].ToString();
                l22.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 23)
            {
                ll23.Text = dr[1].ToString();
                l23.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            if (id == 24)
            {
                ll24.Text = dr[1].ToString();
                l24.ImageUrl = @"photo\" + dr[1].ToString() + @".jpg";
            }
            id = id + 1;
        }
    }
    catch (Exception ex)
    {
        lblError.Text = "فشل في إحظار الأخبار";
    }
    finally
    {
        conn.Close();
    }
}

解决方案

Here's some code to get all the items from entire first day that has any rows (going backwards in time). This assumes SQL Server 2005 or higher (you didn't say what DBMS & version you're using, please do so!):

WITH Data AS (
   SELECT TOP 1 WITH TIES
      *
   FROM dbo.table1
   WHERE
      cat = 1
      AND datee >= DateAdd(day, -5, @dt)
   ORDER BY
      Convert(date, datee) DESC
)
SELECT *
FROM Data
ORDER BY datee DESC
;

If you can order the rows in your front end (and you probably should) then you don't need the extra, outer query. Using this TOP 1 WITH TIES syntax you cannot add more expressions to the inner ORDER BY clause because this would change what is selected.

You also should probably select only the desired columns rather than everything from the table.

这篇关于根据日期时间获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆