0

データベースからデータを表示しようとしました。今日いくつかのデータを保存した場合、それだけでGridView.

週、月、年ごとに表示できるようにしたいと思います。

私のコード:

public void gettoday()
    {
        con.Open();
        {

            //string strview = "select MRNO,MaterialCode,Description,Specification,Category as Cat,Source as Sor,Population as Pop, StockInStores as Stock,MRRating as Rating,PreparedBy,PreparedDate,CheckedBy,CheckedDate,ApprovedBy,ApprovedDate  from tbl_KKSMaterialRaise where PreparedDate between DateAdd(day,-1,GetDate()) AND DateAdd(day,+1,GetDate())";
            string strview = "select MRNO,MaterialCode,Description,Specification,Category as Cat,Source as Sor,Population as Pop, StockInStores as Stock,MRRating as Rating,PreparedBy,PreparedDate,CheckedBy,CheckedDate,ApprovedBy,ApprovedDate  from tbl_KKSMaterialRaise where PreparedDate between (getdate()-1) and (getdate()+1) order by PreparedDate";
            SqlCommand cmd = new SqlCommand(strview, con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            if (ds.Tables[0].Rows.Count > 0)
            {
                GridView1.DataSource = ds;
                GridView1.DataBind();
                //SqlDataReader reader = cd.ExecuteReader();
            }

            else
            {
                GridView1.DataSource = null;
                GridView1.DataBind();
            }

        }
        con.Close();


    }
4

1 に答える 1

1

句のBETWEENステートメントを変更するだけです。WHERE現在、次のものがあります。

where PreparedDate between (getdate()-1) and (getdate()+1)

1 週間、次のようなものを使用する必要があります。

WHERE PreparedDate BETWEEN DATEADD(DAY, -7, GETDATE()) AND DATEADD(DAY, 1, GETDATE())

DATEADD(DAY, -7, GETDATE())適切な日付範囲に 変更することで、月と年に対して同様のことを行うことができます。

月間

DATEADD(MONTH, -1, GETDATE())

そして年間:

DATEADD(YEAR, -1, GETDATE())
于 2012-07-19T13:19:59.457 に答える