执行时自动插入ID
Automatic insertion of ID in execution
我已经在 Visual studio 2010.When 中创建了插入员工详细信息,我单击添加,它显示为已添加并且 ID 在 backend.But 中自动递增而不是添加,如果我必须执行时在前端显示为(“您的EMP ID是某个数字(例如10)),我该怎么办?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HRMSController;
using HRMSBusinessEntities;
using System.Data;
namespace HumanResourceManagementSystems
{
public partial class HRMSEmployee : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = (string)(Session["LoginUser"]);
if (Session["LoginUser"] != null)
{
lblDisplay.Text = "Welcome..." + username;
}
Calendar1.Visible = false;
Label1.Visible = false;
txtcurrdate.Text = System.DateTime.Now.ToLongDateString();
}
protected void Btnmodified_Click(object sender, EventArgs e)
{
Calendar1.Visible = true;
}
protected void Add_Click(object sender, EventArgs e)
{
EmployeeEntity record = new EmployeeEntity
{
name = txtname.Text,
currentdate = Convert.ToDateTime(txtcurrdate.Text),
modifieddate = Convert.ToDateTime(txtmodifieddate.Text)
};
EmployeeController add = new EmployeeController();
add.Add(record);
Label1.Visible = true;
Label1.Text = "Added" ;
Clear();
}
public void Clear()
{
txtname.Text = "";
txtcurrdate.Text = "";
txtmodifieddate.Text = "";
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
txtmodifieddate.Text = Calendar1.SelectedDate.ToString();
}
protected void Button3_Click(object sender, EventArgs e)
{
Clear();
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Calendar1.Visible = true;
}
}
}
添加记录后可以拉出最大id记录并显示在UI
查询可能看起来像
Select * from Employee ORDER BY EmpId DESC LIMIT 1;
根据性能问题的建议,我们可以这样做
Select max(EmpId) from Employee;
编辑
add.Add(record);
SqlConnection con = new SqlConnection(ConnString);
con.Open();
IDbCommand Cmd = con.CreateCommand();
Cmd.CommandText = "Select max(EmpId) from Employee";
IDataReader LastID = Cmd.ExecuteReader();
LastID.Read();
Label1.Visible = true;
Label1.Text = Your Empl ID is " + LastID[0].ToString() ;
Clear();
con.Close();
另一种方式可以是
protected void Add_Click(object sender, EventArgs e)
{
EmployeeEntity record = new EmployeeEntity
{
name = txtname.Text,
currentdate = Convert.ToDateTime(txtcurrdate.Text),
modifieddate = Convert.ToDateTime(txtmodifieddate.Text)
};
EmployeeController add = new EmployeeController();
add.Add(record);
Label1.Visible = true;
Label1.Text = "Your Empl ID is " + FetchLastID();
Clear();
}
public string FetchLastID()
{
SqlConnection con = new SqlConnection(ConnString);
con.Open();
IDbCommand Cmd = con.CreateCommand();
Cmd.CommandText = "Select max(EmpId) from Employee";
IDataReader LastID = Cmd.ExecuteReader();
LastID.Read();
return LastID[0].ToString() ;
}
我已经在 Visual studio 2010.When 中创建了插入员工详细信息,我单击添加,它显示为已添加并且 ID 在 backend.But 中自动递增而不是添加,如果我必须执行时在前端显示为(“您的EMP ID是某个数字(例如10)),我该怎么办?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HRMSController;
using HRMSBusinessEntities;
using System.Data;
namespace HumanResourceManagementSystems
{
public partial class HRMSEmployee : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = (string)(Session["LoginUser"]);
if (Session["LoginUser"] != null)
{
lblDisplay.Text = "Welcome..." + username;
}
Calendar1.Visible = false;
Label1.Visible = false;
txtcurrdate.Text = System.DateTime.Now.ToLongDateString();
}
protected void Btnmodified_Click(object sender, EventArgs e)
{
Calendar1.Visible = true;
}
protected void Add_Click(object sender, EventArgs e)
{
EmployeeEntity record = new EmployeeEntity
{
name = txtname.Text,
currentdate = Convert.ToDateTime(txtcurrdate.Text),
modifieddate = Convert.ToDateTime(txtmodifieddate.Text)
};
EmployeeController add = new EmployeeController();
add.Add(record);
Label1.Visible = true;
Label1.Text = "Added" ;
Clear();
}
public void Clear()
{
txtname.Text = "";
txtcurrdate.Text = "";
txtmodifieddate.Text = "";
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
txtmodifieddate.Text = Calendar1.SelectedDate.ToString();
}
protected void Button3_Click(object sender, EventArgs e)
{
Clear();
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Calendar1.Visible = true;
}
}
}
添加记录后可以拉出最大id记录并显示在UI
查询可能看起来像
Select * from Employee ORDER BY EmpId DESC LIMIT 1;
根据性能问题的建议,我们可以这样做
Select max(EmpId) from Employee;
编辑
add.Add(record);
SqlConnection con = new SqlConnection(ConnString);
con.Open();
IDbCommand Cmd = con.CreateCommand();
Cmd.CommandText = "Select max(EmpId) from Employee";
IDataReader LastID = Cmd.ExecuteReader();
LastID.Read();
Label1.Visible = true;
Label1.Text = Your Empl ID is " + LastID[0].ToString() ;
Clear();
con.Close();
另一种方式可以是
protected void Add_Click(object sender, EventArgs e)
{
EmployeeEntity record = new EmployeeEntity
{
name = txtname.Text,
currentdate = Convert.ToDateTime(txtcurrdate.Text),
modifieddate = Convert.ToDateTime(txtmodifieddate.Text)
};
EmployeeController add = new EmployeeController();
add.Add(record);
Label1.Visible = true;
Label1.Text = "Your Empl ID is " + FetchLastID();
Clear();
}
public string FetchLastID()
{
SqlConnection con = new SqlConnection(ConnString);
con.Open();
IDbCommand Cmd = con.CreateCommand();
Cmd.CommandText = "Select max(EmpId) from Employee";
IDataReader LastID = Cmd.ExecuteReader();
LastID.Read();
return LastID[0].ToString() ;
}