我正在设计一个C#应用程序,用户只能访问他输入的数据,并且我会在登录页面上获取用户名。该应用程序在本地运行良好,因为只有一个用户名输入。但是当我将它部署在要测试的服务器上时会发生以下情况:当许多用户登录并且如果其中一个用户插入他的数据时,在插入要更新的页面以显示新输入的数据之后我执行查询再次检查他的用户名,但是此时保存用户名的变量将被最后一个用户的用户名更新为登录,这个结果显示最后一个用户的数据! 请协助我如何实现这个,除了这个错误一切正常。
private void loadgridview()
{
try
{
string a1 = login.a.Text;//getting username from login page
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT TOP(10) * FROM EXPENSES WHERE INPUTTER='" + a1 + "'ORDER BY E_ID DESC", con);
DataTable table = new DataTable();
da.Fill(table);
GridView2.DataSource = table;
GridView2.DataBind();
SqlDataAdapter da_1 = new SqlDataAdapter("Select count(E_ID) from EXPENSES WHERE INPUTTER='" + a1 + "'", con);
DataTable dt1 = new DataTable();
da_1.Fill(dt1);
counter.Text = dt1.Rows[0]["Column1"].ToString() + " RECORDS";
SqlCommand mg = new SqlCommand("select dbo.increment_ID()", con);
EX_ID.Text = mg.ExecuteScalar().ToString();
con.Close();
}
catch (Exception ex)
{
error.Text = ex.Message.ToString();
}
}
答案 0 :(得分:0)
您可以使用System.Web.HttpContext.Current.Session
即
private void Login(string username, string password)
{
// Your login logic
// Set the session if login was okay
Session["loginUsername"] = username;
}
然后
private void loadgridview()
{
try
{
string a1 = Session["loginUsername"]; //getting username from session
// ...