C# dr.Read()当工作处于暂停状态时,不要执行我的ELSE代码块,我找不到如何为暂停的工作添加EndTime
我想用c语言在ASP.NET上用access数据库做一个工时跟踪程序。我知道如何防止SQL注入,所以我的代码应该是基本的 当用户选择工作并单击开始按钮TnisBaslat按钮时,工作将开始,程序将添加开始时间,当用户单击Bekleye al并单击停止按钮btnisDurdur按钮时,表示工作未完成,只是将工作保持为未完成。用户可以再次启动它,然后他/她可以通过单击停止按钮和Bitir单选按钮来完成此工作 如果用户单击Bekleye al HOLD the work(保持工作)单选按钮,则程序会将结束时间添加到此工作,然后用户可以看到他工作的总分钟数。之后,程序会再次添加StartTime(开始时间),以计算保持时间,如用户保持此工作的时间 问题是:当用户从下拉列表中选择其他工作并单击“开始最后一个完成的工作”时,不要为等待时间添加结束时间。并将开始时间添加到第二个工作。还有塔达!第一个工作的EndTime列将为空 我想问一下,我如何也可以编码结束时间。而且 第二个问题是,当数据库上的第一个工作是像Beklemede这样的_durum列时,这意味着当用户需要但尚未完成工作时,该工作被搁置,等待重新开始。然后读我的IF块 但当我单击“第二个工作”开始并按住它时,在“数据库是硬的”列上,它将更新到Beklemede,等待它再次读取我的IF块,但它始终只读取ELSE块。我的问题在哪里?。我现在将分享截图和代码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(保持工作)单选按钮,则程序会将
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建议: