2014-05-26 5 views
0

На самом деле, я хочу сделать сообщение с конкретными данными внутри него, например 'продукт 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, который достиг своего предела. Например, в предупреждающем сообщении появится сообщение «Продукт 1 достиг своего предела».

Пожалуйста, предложите мне решение этой проблемы. Должен ли я хранить значение в gridview? Или любой другой способ сделать это? Благодарим вас за продвижение.

+0

1: перейти к амазонке. 2: купите книги «Изучение некоторых книг в 21 день», 3: реализуйте то, что вы узнали. Вы должны знать, что вы хотите - не спрашивайте нас (как в: поток пользовательского интерфейса не является программным решением, а тем, что является частью вашего интерфейса пользовательского интерфейса ..... и если вы ни о чем не думаете, потому что это разница между хорошее и программное обеспечение crpa - удобство использования). – TomTom

ответ

0

Вы можете изменить ваш запрос, чтобы показать элементы только с количеством < = к 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); 
       } 

      } 
Смежные вопросы