我会尽可能在我所能来形容我的问题的问题,会话[“东西”]给数据库
我在做一个学校项目,我们在那里建立了一个网站和数据库。您可以登录此网站,然后搜索,向某些数据库表添加和删除不同的产品。它是什么等等并不重要。
主要部分是:例如,您有一个名为实际库存的数据库表。还有一个包含产品的产品表。然后,您登录到网站,搜索产品,然后将其添加到实际库存表中,并将其数量添加到您的实际库存表中。
这工作得很好,但我碰到一个小问题。让我来解释一下这个问题: 如果我第一次登录到网站,搜索一个产品,然后将这个产品添加到我的实际库存中,这将会被添加到数据库中,完全没有问题。但是现在,如果另一个用户登录到该网站(当im仍然登录时)搜索同一个产品,然后将其中一个添加到他的实际库存中,他将获得其中的两个数量(它需要一个我已经在我的名单上并添加了他正在添加的名单)如果他将他们从实际库存中删除,他们也将从我的实际库存中删除。
希望你们了解问题的描述。
这是多么我已经做出登录,这样登录的用户将获得一个会话ID匹配从数据库中的用户ID:
protected void btnlogin_Click(object sender, EventArgs e)
{
SSDataContext db = new SSDataContext();
var myUser = db.Userdbs.SingleOrDefault(x => x.Email == TUname.Text && x.Password == TPas.Text);
if (myUser != null)
{
Session["userid"] = myUser.UserID.ToString();
Response.Redirect("Default.aspx");
,这是工作的罚款,只有一个用户登录在
这是我给定的产品添加到数据库表:
protected void btnAdd_Click(object sender, EventArgs e)
{
SSDataContext db = new SSDataContext();
ActualStock myAdd = new ActualStock();
if (!db.ActualStocks.Any(u => u.EAN == addSoeg.Text))
{
myAdd.EAN = addSoeg.Text;
myAdd.UserID = Convert.ToInt32(Session["userid"]);
myAdd.Quantity = 0;
db.ActualStocks.InsertOnSubmit(myAdd);
db.SubmitChanges();
}
myAdd = db.ActualStocks.Single(x => x.EAN == addSoeg.Text);
myAdd.UserID = Convert.ToInt32(Session["userid"]);
myAdd.Quantity = myAdd.Quantity + Convert.ToInt32(quantity.Text);
db.SubmitChanges();
Response.Redirect(Request.RawUrl);
}
这也只有一个用户的工作就好了,再登录到该网站。
任何一个可以帮助我理解为什么会话ID的弄混了,产品得到补充,并从
希望删除我已经解释过我自己就够了,这样你能理解这是怎么回事。
如果您需要更多其他信息,请告诉我。
我们使用MSSQL数据库,并使用LINQ
谢谢你的快速回复,请你向我解释你为什么要这样做,以及其他方法有什么问题?由于即时通信在编码和学习阶段仍然非常新颖,我将从解释中受益匪浅。 (对于英语,不是我的主要语言) –
第一条if语句中的错字。你用'u'作为var,然后切换到'x'。 – paqogomez
谢谢。复制粘贴 –