dr.Read () не выполняет мой блок кода ELSE, когда работа находится в состоянии HOLD, и я не могу найти способ добавить EndTime для работы HOLDED - PullRequest
0 голосов
/ 11 ноября 2018

Я хочу создать программу для отслеживания рабочего времени на ASP.NET в c # с базой данных доступа. Я знаю, как предотвратить SQL-инъекцию, и поэтому хорошо, что мои коды немного просты.

Когда пользователь выбирает работу и нажимает кнопку START (кнопка btnisBaslat), работа начинается, и программа добавляет время начала, когда пользователь нажимает «Beklemeye al» и нажимает кнопку STOP (кнопка btnisDurdur), это означает, что работа не завершена и просто держу работу как бы не законченную. И пользователь может запустить его снова, и после этого он / она может закончить эту работу, нажав кнопку STOP и нажав кнопку «Bitir».

Если пользователь нажимает переключатель «Беклемей ал» (УДЕРЖИВАТЬ работу), программа добавляет время окончания к этой работе, и после этого пользователь может видеть, сколько минут он отработал всего. После этого программа снова добавляет StartTime для расчета (время удержания). ) нравится, сколько эта работа была проведена пользователем.

Проблема заключается в том, что когда пользователь выбирает другую работу из DropdownList и нажимает кнопку начать последнюю законченную работу, просто не добавляйте EndTime для времени удержания. И добавьте StartTime ко второй работе. И тада! столбец EndTime для первой работы будет пустым.

Я хочу спросить, как я могу кодировать EndTime тоже. А также ВТОРОЙ ПРОБЛЕМОЙ является «Когда первая работа над столбцом« is_durum »в базе данных, как« Beklemede », означает, что работа ДЕРЖИТСЯ (ожидание возобновления, когда пользователь хочет, но не завершил работу). затем прочитайте мой блок IF,

Но когда я нажимаю на вторую работу, чтобы запустить и УДЕРЖАТЬ ее, в столбце «is_durum» базы данных ее обновления «Beklemede» (ожидающие) должны снова прочитать мой блок IF, но он все время читает только блок ELSE. Где моя проблема? Я сейчас поделюсь скриншотами и кодами.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
using System.Configuration;


    protected void btnisBaslat_Click(object sender, EventArgs e)
    {

            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Server.MapPath("Database1.accdb") + "");
            con.Open();
            //OleDbCommand cmd = new OleDbCommand("update Personel set is_Tanimi='" + txtisTanimi.Text + "', baslangic_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where ID = " + Session["UserID"], con);
            OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='true' where ID=" + Session["UserID"], con);
            cmd.ExecuteNonQuery();
            //OleDbCommand cmd2 = new OleDbCommand("INSERT INTO Gorevler(Kadi,is_tanimi,baslangic_zamani,kull_id) values ('" + Session["Adi"] + "','" + DDLisSec.SelectedValue + "','" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "','" + Session["UserID"] + "')", con);
            //cmd2.ExecuteNonQuery();   
            OleDbCommand cmd2 = new OleDbCommand("Select * from Temsilci where is_durum='Beklemede'", con);
            OleDbDataReader dr = cmd2.ExecuteReader();
            if (dr.Read())
            {
                if (dr["is_durum"].ToString() == "Beklemede" && dr["ID"].ToString() == DDLisSec.SelectedValue.ToString())
                {
                    OleDbCommand cmd4 = new OleDbCommand("UPDATE Temsilci set Tipdurum=1 where Tipdurum=2 AND ID=" + DDLisSec.SelectedValue + " AND personel_id=" + Session["UserID"], con);
                    cmd4.ExecuteNonQuery();
                    OleDbCommand cmd3 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=2 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                    cmd3.ExecuteNonQuery();
                    OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Temsilci.ID,Temsilci.personel_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Temsilci where Temsilci.Tipdurum=1 and Temsilci.personel_id=" + Session["UserID"], con);
                    cmd7.ExecuteNonQuery();

                    Response.Write("Beklemede olanlar çalıştı");
                }
                else
                {
                    //Response.Write(DDLisSec.SelectedValue);
                    OleDbCommand cmd4 = new OleDbCommand("UPDATE Temsilci set Tipdurum=1 where ID=" + DDLisSec.SelectedValue + " AND personel_id=" + Session["UserID"], con);
                    cmd4.ExecuteNonQuery();
                    OleDbCommand cmd3 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=2 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                    cmd3.ExecuteNonQuery();
                    //OleDbCommand cmd4 = new OleDbCommand("INSERT INTO Gorevler(is_tanimi,kull_id,durum) values ('" + DDLisSec.SelectedValue + "','" + Session["UserID"] + "',1)", con);
                    //cmd4.ExecuteNonQuery();
                    //OleDbCommand cmd3 = new OleDbCommand("UPDATE Temsilci set temsilcigorevid=Gorevler.ID WHERE Temsilci.ID='" + DDLisSec.SelectedValue + "'", con);
                    //cmd3.ExecuteNonQuery();
                    //OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Gorevler.ID,Gorevler.kull_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Gorevler where Gorevler.durum=1 and Gorevler.kull_id=" + Session["UserID"], con);
                    //cmd7.ExecuteNonQuery();
                    OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Temsilci.ID,Temsilci.personel_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Temsilci where Temsilci.Tipdurum=1 and Temsilci.personel_id=" + Session["UserID"], con);
                    cmd7.ExecuteNonQuery();                                        
                    Response.Write("Null lar çalıştı");
                }

            }



                    //OleDbCommand cmd6 = new OleDbCommand("UPDATE GorevHareket set StartTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' Where [ID] = (SELECT MAX([ID]) FROM GorevHareket)", con);
                    //cmd6.ExecuteNonQuery();


        //cmd.ExecuteNonQuery();

            btnisBaslat.Visible = false;
            btnisDurdur.Visible = true;
            rbtnBekle.Visible = true;
            rbtnBitir.Visible = true;
            con.Close();
            dr.Close();



    }
    protected void btnisDurdur_Click(object sender, EventArgs e)
    {


        OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Server.MapPath("Database1.accdb") + "");
            con.Open();
            //OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
            //cmd.ExecuteNonQuery();
            //OleDbCommand cmd2 = new OleDbCommand("update Gorevler set bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where kull_id=" + Session["UserID"], con);
            //// OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler SET bitis_zamani='"+ DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")+ "',kull_id='"+Session["UserID"]+"' FROM Gorevler INNER JOIN Personel ON Personel.ID=Gorevler.kull_id WHERE kull_id="+Session["UserID"],con);

            //OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler INNER JOIN Personel ON Gorevler.kull_id=Personel.ID SET bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "',kull_id='" + Session["UserID"] + "' WHERE kull_id=" + Session["UserID"], con);
            //cmd2.ExecuteNonQuery();
            //OleDbDataReader dr = cmd.ExecuteReader();
            btnisDurdur.Visible = false;
            btnisBaslat.Visible = true;
            if(rbtnBekle.Checked==true)
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("update Temsilci set Tipdurum=2 WHERE ID=" + DDLisSec.SelectedValue + " and Tipdurum=1 and personel_id=" + Session["UserID"], con);
                cmd2.ExecuteNonQuery();
                OleDbCommand cmd4 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=1 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                cmd4.ExecuteNonQuery();
                OleDbCommand cmd5 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,Tip,StartTime,SessionId) SELECT Temsilci.ID,'2' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime,Temsilci.personel_id From Temsilci where Tipdurum=2 AND ID=" + DDLisSec.SelectedValue + " AND Temsilci.personel_id=" + Session["UserID"], con);
                cmd5.ExecuteNonQuery();
                OleDbCommand cmd3 = new OleDbCommand("update Temsilci set is_durum='Beklemede' where ID="+DDLisSec.SelectedValue+" and personel_id="+Session["UserID"], con);
                cmd3.ExecuteNonQuery();

                //OleDbCommand cmd2 = new OleDbCommand("Select top 1 * from Gorevler where kull_id="+Session["UserID"]+" Order by ID DESC",con);
                //OleDbDataReader dr = cmd2.ExecuteReader();
                //while (dr.Read())
                //{
                //    Response.Write(dr["is_tanimi"].ToString());
                //}
            }
            else if (rbtnBitir.Checked == true)
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler SET bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "',is_durum='Bitti' where is_tanimi='" + DDLisSec.SelectedValue + "' and [ID] = (SELECT MAX([ID]) FROM Gorevler)", con);
                cmd2.ExecuteNonQuery();
                OleDbCommand cmd3 = new OleDbCommand("update Temsilci set is_durum='Bitti' where isin_adi='" + DDLisSec.SelectedValue + "'and personel_id=" + Session["UserID"], con);
                cmd3.ExecuteNonQuery();
            }
            else
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("update Gorevler set bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where kull_id=" + Session["UserID"], con);
                cmd2.ExecuteNonQuery();
            }
            rbtnBekle.Visible = false;
            rbtnBitir.Visible = false;

            con.Close();

    }






    protected void DDLisSec_SelectedIndexChanged(object sender, EventArgs e)
    {



    }





}

1 Ответ

0 голосов
/ 13 ноября 2018

** Я сделал это так, и это сработало. К сожалению, никто не отвечает на это: / Belki birinin işine yarar **

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
using System.Configuration;


    protected void btnisBaslat_Click(object sender, EventArgs e)
    {

            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Server.MapPath("Database1.accdb") + "");
            con.Open();
            //OleDbCommand cmd = new OleDbCommand("update Personel set is_Tanimi='" + txtisTanimi.Text + "', baslangic_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where ID = " + Session["UserID"], con);
            OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='true' where ID=" + Session["UserID"], con);
            cmd.ExecuteNonQuery();
            //OleDbCommand cmd2 = new OleDbCommand("INSERT INTO Gorevler(Kadi,is_tanimi,baslangic_zamani,kull_id) values ('" + Session["Adi"] + "','" + DDLisSec.SelectedValue + "','" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "','" + Session["UserID"] + "')", con);
            //cmd2.ExecuteNonQuery();
            OleDbCommand cmd6 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE StartTime IS NOT NULL AND EndTime IS NULL AND SessionId=" + Session["UserID"], con);
            cmd6.ExecuteNonQuery();

            OleDbCommand cmd2 = new OleDbCommand("Select * from Temsilci where ID=" + DDLisSec.SelectedValue, con);
            OleDbDataReader dr = cmd2.ExecuteReader();
            while (dr.Read())
            {
                if (dr["is_durum"].ToString() == "Beklemede")
                {
                    OleDbCommand cmd4 = new OleDbCommand("UPDATE Temsilci set Tipdurum=1 where Tipdurum=2 AND ID=" + DDLisSec.SelectedValue + " AND personel_id=" + Session["UserID"], con);
                    cmd4.ExecuteNonQuery();
                    OleDbCommand cmd3 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=2 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                    cmd3.ExecuteNonQuery();
                    OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Temsilci.ID,Temsilci.personel_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Temsilci where Temsilci.Tipdurum=1 and Temsilci.personel_id=" + Session["UserID"], con);
                    cmd7.ExecuteNonQuery();

                    Response.Write("Beklemede olanlar çalıştı");
                }
                else
                {
                    //Response.Write(DDLisSec.SelectedValue);
                    OleDbCommand cmd4 = new OleDbCommand("UPDATE Temsilci set Tipdurum=1 where ID=" + DDLisSec.SelectedValue + " AND personel_id=" + Session["UserID"], con);
                    cmd4.ExecuteNonQuery();
                    OleDbCommand cmd3 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=2 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                    cmd3.ExecuteNonQuery();
                    //OleDbCommand cmd4 = new OleDbCommand("INSERT INTO Gorevler(is_tanimi,kull_id,durum) values ('" + DDLisSec.SelectedValue + "','" + Session["UserID"] + "',1)", con);
                    //cmd4.ExecuteNonQuery();
                    //OleDbCommand cmd3 = new OleDbCommand("UPDATE Temsilci set temsilcigorevid=Gorevler.ID WHERE Temsilci.ID='" + DDLisSec.SelectedValue + "'", con);
                    //cmd3.ExecuteNonQuery();
                    //OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Gorevler.ID,Gorevler.kull_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Gorevler where Gorevler.durum=1 and Gorevler.kull_id=" + Session["UserID"], con);
                    //cmd7.ExecuteNonQuery();
                    OleDbCommand cmd7 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,SessionId,Tip,StartTime) SELECT Temsilci.ID,Temsilci.personel_id,'1' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime From Temsilci where Temsilci.Tipdurum=1 and Temsilci.personel_id=" + Session["UserID"], con);
                    cmd7.ExecuteNonQuery();                                        
                    Response.Write("Null lar çalıştı");
                }

            }



                    //OleDbCommand cmd6 = new OleDbCommand("UPDATE GorevHareket set StartTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' Where [ID] = (SELECT MAX([ID]) FROM GorevHareket)", con);
                    //cmd6.ExecuteNonQuery();


        //cmd.ExecuteNonQuery();

            btnisBaslat.Visible = false;
            btnisDurdur.Visible = true;
            rbtnBekle.Visible = true;
            rbtnBitir.Visible = true;
            con.Close();
            dr.Close();



    }
    protected void btnisDurdur_Click(object sender, EventArgs e)
    {


        OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Server.MapPath("Database1.accdb") + "");
            con.Open();
            //OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
            //cmd.ExecuteNonQuery();
            //OleDbCommand cmd2 = new OleDbCommand("update Gorevler set bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where kull_id=" + Session["UserID"], con);
            //// OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler SET bitis_zamani='"+ DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")+ "',kull_id='"+Session["UserID"]+"' FROM Gorevler INNER JOIN Personel ON Personel.ID=Gorevler.kull_id WHERE kull_id="+Session["UserID"],con);

            //OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler INNER JOIN Personel ON Gorevler.kull_id=Personel.ID SET bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "',kull_id='" + Session["UserID"] + "' WHERE kull_id=" + Session["UserID"], con);
            //cmd2.ExecuteNonQuery();
            //OleDbDataReader dr = cmd.ExecuteReader();
            btnisDurdur.Visible = false;
            btnisBaslat.Visible = true;
            if(rbtnBekle.Checked==true)
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("update Temsilci set Tipdurum=2 WHERE ID=" + DDLisSec.SelectedValue + " and Tipdurum=1 and personel_id=" + Session["UserID"], con);
                cmd2.ExecuteNonQuery();
                OleDbCommand cmd4 = new OleDbCommand("update GorevHareket set EndTime='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE Tip=1 AND EndTime IS NULL AND GorevId=" + DDLisSec.SelectedValue + " AND SessionId=" + Session["UserID"], con);
                cmd4.ExecuteNonQuery();
                OleDbCommand cmd5 = new OleDbCommand("INSERT INTO GorevHareket(GorevId,Tip,StartTime,SessionId) SELECT Temsilci.ID,'2' AS Tip,'" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' AS StartTime,Temsilci.personel_id From Temsilci where Tipdurum=2 AND ID=" + DDLisSec.SelectedValue + " AND Temsilci.personel_id=" + Session["UserID"], con);
                cmd5.ExecuteNonQuery();
                OleDbCommand cmd3 = new OleDbCommand("update Temsilci set is_durum='Beklemede' where ID="+DDLisSec.SelectedValue+" and personel_id="+Session["UserID"], con);
                cmd3.ExecuteNonQuery();

                //OleDbCommand cmd2 = new OleDbCommand("Select top 1 * from Gorevler where kull_id="+Session["UserID"]+" Order by ID DESC",con);
                //OleDbDataReader dr = cmd2.ExecuteReader();
                //while (dr.Read())
                //{
                //    Response.Write(dr["is_tanimi"].ToString());
                //}
            }
            else if (rbtnBitir.Checked == true)
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("UPDATE Gorevler SET bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "',is_durum='Bitti' where is_tanimi='" + DDLisSec.SelectedValue + "' and [ID] = (SELECT MAX([ID]) FROM Gorevler)", con);
                cmd2.ExecuteNonQuery();
                OleDbCommand cmd3 = new OleDbCommand("update Temsilci set is_durum='Bitti' where isin_adi='" + DDLisSec.SelectedValue + "'and personel_id=" + Session["UserID"], con);
                cmd3.ExecuteNonQuery();
            }
            else
            {
                OleDbCommand cmd = new OleDbCommand("update Personel set tiklama='false' where ID=" + Session["UserID"], con);
                cmd.ExecuteNonQuery();
                OleDbCommand cmd2 = new OleDbCommand("update Gorevler set bitis_zamani='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' where kull_id=" + Session["UserID"], con);
                cmd2.ExecuteNonQuery();
            }
            rbtnBekle.Visible = false;
            rbtnBitir.Visible = false;

            con.Close();

    }   








}
...