我已经设置了DateTime传递的变量,我需要从"GetQuantityInStock"存储过程中获取修改后的变量,以便在下一个请求中应用它.我怎么能做到这一点?
错误:使用未赋值的局部变量"delivered".
private void InsertQuery()
{
var count =
from order in showOrders
group order by order.ProductArticleNumber into articles
select new
{
ProductArticleNumber = articles.Key,
Count = articles.Count(),
};
DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
DateTime delivered;
int id;
if (cboPickUpPoints.SelectedValue != null)
{
int pickUpPoint = (int)cboPickUpPoints.SelectedValue;
if (MessageBox.Show("Вы точно уверены в своём выборе? ", "Сообщение",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
using (SqlConnection connectionString = new SqlConnection(Properties.Settings.Default.connectionString))
{
connectionString.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetCountArticles";
cmd.Connection = connectionString;
foreach (var items in count)
{
cmd.Parameters.AddWithValue("@countArticles", items.Count);
cmd.Parameters.AddWithValue("@ProductArticleNumber", items.ProductArticleNumber);
cmd.ExecuteNonQuery();
}
SqlCommand cmd1 = new SqlCommand();
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.CommandText = "GetQuantityInStock";
cmd1.Connection = connectionString;
foreach (var items in count)
{
cmd1.Parameters.AddWithValue("@ProductArticleNumber", items.ProductArticleNumber);
int countArticles = (int)cmd1.ExecuteScalar();
if (countArticles > 3)
{
delivered = today.AddDays(3); //<-- The variable I need
}
else
{
delivered = today.AddDays(6); //<-- The variable I need
}
}
SqlCommand cmd2 = new SqlCommand();
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.CommandText = "InsertOrder";
cmd2.Connection = connectionString;
cmd2.Parameters.AddWithValue("@OrderDate", today);
cmd2.Parameters.AddWithValue("@OrderDeliveryDate", delivered); //<-- Error
cmd2.Parameters.AddWithValue("@OrderPickupPoint", pickUpPoint);