如何使用数据库中的特定数据显示警报消息
本文关键字:显示 数据 消息 何使用 数据库 | 更新日期: 2023-09-27 18:05:12
实际上我想制作一个带有特定数据的警报消息,例如'product 1已达到其级别'。我不能这样做,所以我尝试了另一种方法来显示警报消息,但没有在其中使用特定的pid。
下面是我的代码:SqlConnection connection = new SqlConnection("Data Source=aaaVAIO;InitialCatalog=System;Integrated Security=True");
SqlCommand abc = new SqlCommand("select pid, case when (Pamount <= SafetyStock) then 'has reached its limit!' end as Alert from Product ", connection);
try
{
connection.Open();
SqlDataReader rdr = abc.ExecuteReader();
while (rdr.Read())
{
ListBox1.Items.Add(rdr["alert"].ToString());
foreach (ListItem li in ListBox1.Items)
{
if (li.Text.Equals("Limit stock has been reached"))
{
ClientScriptManager def= Page.ClientScript;
{
string strconfirm = "<script>if(window.confirm('Limit Stock has been reached!')){window.location.href='/Inventory system/Manager/Updateproductdetails.aspx'}</script>";
def.RegisterClientScriptBlock(this.GetType(), "Confirm", strconfirm, false);
}
}
}
}
rdr.Close();
}
在上面的代码中,我将sqlcommand
输出存储在list box
中,然后警报消息将根据列表内容显示警报消息。如果列表框中出现库存已达到限制消息,则会弹出警告消息。
实际上我想让它更具体,它显示了达到其极限的特定pid。例如,警报消息将显示消息'Product 1已达到其极限'。
请建议我解决这个问题的方法。我应该先在gridview
中存储值吗?或者有其他方法吗?提前谢谢你。
您可以将sql查询更改为仅显示金额为<=的项目到safetyStock:
SqlCommand abc = new SqlCommand("select pid from Product where Pamount <= SafetyStock", connection);
然后你的循环把它改成这样:
while (rdr.Read())
{
ClientScriptManager def = Page.ClientScript;
{
string strconfirm = "<script>if(window.confirm('Product " + rdr["pid"] + " has reached its limit')){window.location.href='/Inventory system/Manager/Updateproductdetails.aspx'}</script>";
def.RegisterClientScriptBlock(this.GetType(), "Confirm", strconfirm, false);
}
}