c#中的listView问题

本文关键字:问题 listView 中的 | 更新日期: 2023-09-27 17:54:29

我在listview中有一个问题。我的listview有五列(question_number,question_text,start_time,end_time,status)。前四列将从数据库中获取数据。一旦数据输入,我必须比较开始时间和当前时间。一旦starttime大于当前时间,那么我必须将状态列更新为过期。否则我只能说未过期。

我已经附上了我这样做的代码。我不知道如何在状态列中更新状态。请谁来帮帮我。提前谢谢。

     public void GetData()
       {
        try
        {
            myConnection = new SqlConnection(@"User ID=sa;Password=password123;Initial Catalog=dish;Persist Security Info=True;Data Source=ENMEDIA-CCDDFE5'ENMEDIA");
            //myConnection.Open();
            //SqlDataReader dr = new SqlCommand("SELECT question_text,question_id FROM otvtbl_question ", myConnection).ExecuteReader();
           // listView1.Columns.Clear();
            listView1.Items.Clear();
            myConnection.Open();
            String MyString1 = string.Format("SELECT question_id,question_text,start_time,end_time FROM otvtbl_question");
            SqlCommand cmd = myConnection.CreateCommand();
            cmd.CommandText = MyString1;
            dr = cmd.ExecuteReader();
            //Adding The Column Name From The DataBase 
            for (int i = 0; i < dr.FieldCount; i++)
            {
                ColumnHeader ch = new ColumnHeader();
                ch.Text = dr.GetName(i);
                //listView1.Columns.Add(ch);
            }

            ListViewItem itmX;
            //Adding the Items To The Each Column
            while (dr.Read())
            {
                itmX = new ListViewItem();
                itmX.Text = dr.GetValue(0).ToString();
                for (int i = 1; i < dr.FieldCount; i++)
                {
                    itmX.SubItems.Add(dr.GetValue(i).ToString());
                }
                listView1.Items.Add(itmX);
            }
            dr.Close();
            myConnection.Close();
          }
           catch (Exception ex)
        {
            //Error Message While Fetching
            MessageBox.Show("Error While Fetching the data From the DataBase" + ex);
        }
        finally
        {
            //Closing The Connection
            if (dr != null)
                dr.Close();
            if (myConnection.State == ConnectionState.Open)
                myConnection.Close();
        }

c#中的listView问题

像这样?

            while (dr.Read())
            {
                ...
                listView1.Items.Add(itmX);
                if (dr.GetDateTime(2) > dr.GetDateTime(3))
                {
                    itmX.SubItems.Add("Expired");
                }
            }