0

Windows Surface Tablet PC の登録申請書を持っています。それは見事に機能しますが、もう1つ作業する必要があります。

登録は、オンライン状態 (スタッフ登録の場合) またはオフライン状態 (学生イベント登録の場合) のいずれかで機能します。

オンライン状態になると、6 桁 + 'L' を保持するバーコードをスキャンしてデータベースに移動し、スタッフ メンバーの名前と 6 桁のコードを引き出して、スタッフ メンバーの名前を順番にリストします。リストボックス。

私が探しているのは、アプリケーションに最初に入力された時間をリストし、同じコードを再度スキャンすると、最初のエントリを削除する代わりに、次のように既存の行に別の時間を追加することです。

最初のスキャン:

Ryan Gillooly (123456) Time: 11:40

2 回目のスキャン:

Ryan Gillooly (123456) Time: 11:40 Time: 13:26

などなど。

コードは次のとおりです。

Object returnValue;

   string txtend = textBox1.Text;

        if (e.KeyChar == 'L')
        {
            DBConnection.Open();
        }
        if (DBConnection.State == ConnectionState.Open)
        {
            if (textBox1.Text.Length != 6) return;
            {
                cmd.CommandText = ("SELECT last_name +', '+ first_name from name where id =@Name");
                cmd.Parameters.Add(new SqlParameter("Name", textBox1.Text.Replace(@"L", "")));
                cmd.CommandType = CommandType.Text;
                cmd.Connection = DBConnection;

                returnValue = cmd.ExecuteScalar() + "\t (" + textBox1.Text.Replace(@"L", "") + ")";

                DBConnection.Close();

                if (listBox1.Items.Contains(returnValue))
                {
                    for (int n = listBox1.Items.Count - 1; n >= 0; --n)
                    {
                        string removelistitem = returnValue.ToString();
                        if (listBox1.Items[n].ToString().Contains(removelistitem))
                        {
                            //listBox1.Items.Add("    " + "\t Time:" + "  " + DateTime.Now.ToString("HH.mm"));
                            listBox1.Items.RemoveAt(n);
                        }
                    }
                }
                else

                    listBox1.Items.Add(returnValue + "\t Time:" + "  " + DateTime.Now.ToString("HH.mm"));

                textBox1.Clear();

                System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(fullFileName);
                foreach (object item in listBox1.Items)
                SaveFile.WriteLine(item.ToString());
                SaveFile.Flush();
                SaveFile.Close();

                if (listBox1.Items.Count != 0) { DisableCloseButton(); }
                else
                {
                    EnableCloseButton();
                }
                Current_Attendance_Label.Text = "Currently " + listBox1.Items.Count.ToString() + " in attendance.";
                e.Handled = true;
            }
        }
4

1 に答える 1