— Начало метки A Dim cmd1 AS New SqlCommand( _ «upDiscontinuedProducts»,cnn1) cmd1.CommandType = CommandType.StoredProcedure — Конец метки A — Set SqlCommand parameters: — prm1 is an input parameter. — prm2 is an output parameter. — prm3 is a return value. — Начало метки B Dim prm1 AS SqlParameter = _ cmd1.Parameters.Add(«@CategoryID», _ SqlDbType.Int) prm1.value = integer.Parse(textbox1.Text) — Конец метки B — Начало метки C Dim prm2 AS SqlParameter = _ cmd1.Parameters.Add(«@DiscontinuedCount», _ SqlDbType.Int) prm2.Direction=ParameterDirection.Output — Конец метки C — Начало метки D Dim prm3 AS SqlParameter = _ cmd1.Parameters.Add(«@NumberOfProducts», _ SqlDbType.Int) prm3.Direction=ParameterDirection.ReturnValue — Конец метки D — Начало метки E — Create a SqlDataReader object by — invoking the ExecuteReader method. Dim rdr1 AS SqlDataReader = _ cmd1.ExecuteReader() — Loop through the SqlDataReader object and populate — a list box. ListBox1.Items.Clear Do WHILE rdr1.Read ListBox1.Items.Add (rdr1.GetString(2)) Loop — Конец метки E — Начало метки F — Close the SqlDataReader. rdr1.Close — Конец метки F — Assign the output parameter and return — status values to a label; manage the visibility — of a list box based on whether there are — discontinued products to show. Label2.Text = prm2.Value & _ « discontinued products from a total « & _ «of» & prm3.Value & «.» IF prm2.Value=0 THEN ListBox1.Visible = False ELSE ListBox1.Visible = True Конец IF cnn1.Close