c# - 如何为已创建的每个订单分配不同的送货司机?
问题描述
所以我有一个 sql 表,其中包含 driverid 和 drivername 等列
客户结帐后,下面的代码将创建订单。
string deliveryDate = DateTime.Now.AddDays(2).ToString("M/d/yyyy");
SqlConnection con = new SqlConnection(str);
if (Session["buyitems"] != null && Session["Orderid"] != null)
{
DataTable dt = (DataTable)Session["buyitems"];
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
string pId = dt.Rows[i]["pid"].ToString();
int pQuantity = Convert.ToInt16(dt.Rows[i]["pquantity"]);
SqlDataAdapter sda = new SqlDataAdapter("Select Pquantity from ProductShirt where ProductId ='" + pId + "' ", con);
DataTable dtbl = new DataTable();
sda.Fill(dtbl);
int quantity = Convert.ToInt32(dtbl.Rows[0][0]);
if (quantity > 0)
{
con.Open();
SqlCommand cmd = new SqlCommand("insert into OrderDetails(orderid,sno,productid,productname,price,quantity,orderdate,status,email,deliverydate,address, driverid) values('" + Session["Orderid"] + "',"
+ dt.Rows[i]["sno"] + "," + dt.Rows[i]["pid"] + ",'" + dt.Rows[i]["pname"] + "'," + (Convert.ToInt32(dt.Rows[i]["pprice"])) + "," + dt.Rows[i]["pquantity"] + ",'" + DateTime.Now.ToString("M/d/yyyy") + "','Pending', '" + Session["username"].ToString() + "', '" + deliveryDate + "', '" + TextBox1.Text + "', '" + driverid + '")", con);
cmd.ExecuteNonQuery();
con.Close();
}
}
decreaseQuantity();
clearCart();
Session["buyitems"] = null;
Session["deliverydate"] = deliveryDate;
Response.Redirect(url);
}
else
{
Response.Redirect("AddtoCart.aspx");
}
我将如何为新订单分配不同的送货司机,例如在创建第一个订单时,将 driver1 分配给它。创建第三个订单后,会将 driver3 分配给它,但如果有第四个订单,则分配的驱动程序列表应从驱动程序 1 重新开始。
解决方案
推荐阅读
- java - Getting JsonMappingException when trying to deserialize Json
- c++ - 如何在不更改其余代码的情况下将 C++ 模板替换为 C 兼容?
- c# - 有没有一种方法可以将按钮转换为带有动画的圆形按钮
- sql - 返回当前日期的最后六个月 (ORACLE)
- reactjs - 如何在 useEffect IAW 'exhaustive-deps' lint 规则中读取和修改状态
- ansible - Ansible:当任何 ansible_play_hosts_all 主机中未定义某些变量时,如何为案例定义“何时”语句?
- r - 根据用户输入动态子集数据框并将结果表显示为 Shiny 应用程序中的另一个用户输入
- python - 遍历 pd.DataFrame 以创建新的 DataFrame
- c# - 从 EF Core 中的父对象访问子对象
- scala - Scala,将列表映射到稀疏向量