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

时间:2014-11-23 02:40:22

标签: c# asp.net

我正在进行股票买卖计划。目前我正在进行股票购买页面。我在gridview中显示数据的数据,以及一个文本框,让用户键入他们想要购买的库存量,然后点击购买按钮。单击按钮时,如何将文本框的值与数据库中的值进行比较?

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

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

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

更新了代码...我尝试了这段代码,如何使用" 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();
}

1 个答案:

答案 0 :(得分:0)

更新后

像这样更改你的代码

 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>");
    }
}
相关问题