将文本框值与数据库中的数据进行比较并更新更改

本文关键字:比较 更新 数据 文本 数据库 | 更新日期: 2023-09-27 18:31:29

我正在做一个股票买卖程序。目前,我正在研究股票购买页面。我在数据绑定的网格视图中显示数据,以及一个文本框,让用户输入他们想要购买的股票数量并单击购买按钮。单击按钮时,如何将文本框的值与数据库中的值进行比较?

如果数据库中的库存单位小于文本框中输入的数量,

则会弹出警报并且不会继续,如果该值大于文本框中输入的数量,它将更新数据库中的值。

文本框amount,数据库中用于比较的列从表stockDetails stockUnit

我使用下面的这段代码从数据库中检索数据,但是如何将文本框中的数据与数据库中的数据进行比较?

更新了代码...我尝试了这段代码,如何使用"unitavailable1?

 hookUp = new SqlConnection("Server=localhost''SqlExpress;Database=Stocks3_Data;" +
    "Integrated Security=True");
    sqlCmd = new SqlCommand("SELECT  UnitAvailable  FROM StockDetails WHERE StockID = 3", hookUp);
    hookUp.Open();
    reader = sqlCmd.ExecuteReader();
    int amountkey;
    amountkey = Convert.ToInt32(amount.Text);
    while (reader.Read())
    {
        int unitavailable = reader.GetInt32(0);
        if (amountkey <= unitavailable)
        {
            Response.Write("<script LANGUAGE='JavaScript'> alert('The units available is not enough.')</script>");
        }
        else 
        {
            Response.Write("<script LANGUAGE='JavaScript'> alert('The units available is not enough.')</script>");
            unitavailable1 = unitavailable - amountkey;
        }
    }
    reader.Close();
    hookUp.Close();
}

将文本框值与数据库中的数据进行比较并更新更改

更新

像这样更改代码

 while (reader.Read())
        {
            int unitavailable = reader.GetInt32(0);
            if (amountkey <= unitavailable)
            {
                Response.Write("<script LANGUAGE='JavaScript'> alert('The units available is not enough.')</script>");
            }
            else 
            {
                unitavailable1 = unitavailable - amountkey;
                   SqlCommand   sqlupdateCmd = new SqlCommand("UPDATE StockDetails  set UnitAvailable='"+unitavailable1+"' WHERE StockID = 3", hookUp);
                   sqlupdateCmd .ExecuteNonQuery(); //Update your db values
 Response.Write("<script LANGUAGE='JavaScript'> alert('The units available is not enough.')</script>");
    }
}