我正在进行股票买卖计划。目前我正在进行股票购买页面。我在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();
}
答案 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>");
}
}