C# dr.Read()当工作处于暂停状态时,不要执行我的ELSE代码块,我找不到如何为暂停的工作添加EndTime

C# dr.Read()当工作处于暂停状态时,不要执行我的ELSE代码块,我找不到如何为暂停的工作添加EndTime,c#,sql,asp.net,ms-access,C#,Sql,Asp.net,Ms Access,我想用c语言在ASP.NET上用access数据库做一个工时跟踪程序。我知道如何防止SQL注入,所以我的代码应该是基本的 当用户选择工作并单击开始按钮TnisBaslat按钮时,工作将开始,程序将添加开始时间,当用户单击Bekleye al并单击停止按钮btnisDurdur按钮时,表示工作未完成,只是将工作保持为未完成。用户可以再次启动它,然后他/她可以通过单击停止按钮和Bitir单选按钮来完成此工作 如果用户单击Bekleye al HOLD the work(保持工作)单选按钮,则程序会将

我想用c语言在ASP.NET上用access数据库做一个工时跟踪程序。我知道如何防止SQL注入,所以我的代码应该是基本的

当用户选择工作并单击开始按钮TnisBaslat按钮时,工作将开始,程序将添加开始时间,当用户单击Bekleye al并单击停止按钮btnisDurdur按钮时,表示工作未完成,只是将工作保持为未完成。用户可以再次启动它,然后他/她可以通过单击停止按钮和Bitir单选按钮来完成此工作

如果用户单击Bekleye al HOLD the work(保持工作)单选按钮,则程序会将结束时间添加到此工作,然后用户可以看到他工作的总分钟数。之后,程序会再次添加StartTime(开始时间),以计算保持时间,如用户保持此工作的时间

问题是:当用户从下拉列表中选择其他工作并单击“开始最后一个完成的工作”时,不要为等待时间添加结束时间。并将开始时间添加到第二个工作。还有塔达!第一个工作的EndTime列将为空

我想问一下,我如何也可以编码结束时间。而且 第二个问题是,当数据库上的第一个工作是像Beklemede这样的_durum列时,这意味着当用户需要但尚未完成工作时,该工作被搁置,等待重新开始。然后读我的IF块

但当我单击“第二个工作”开始并按住它时,在“数据库是硬的”列上,它将更新到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)
    {



    }





}

**我是这样做的,而且成功了。遗憾的是,没有人回答这个问题:/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();

    }   








}

我在超过4周的时间里无法做到这一点。最后,我在这里分享。我希望你能帮忙。非常感谢。请使用参数避免sql注入和格式错误。你的问题很难回答,因为你贴了一堵代码墙。将代码示例限制在所需的最小范围内。我已经解决了这个问题。thx建议: