⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookstore.cs

📁 图书销售系统源码
💻 CS
📖 第 1 页 / 共 2 页
字号:
        parameterTotalCost.Direction = ParameterDirection.Output;
        myCommand.Parameters.Add(parameterTotalCost);

        myCommand.ExecuteNonQuery();
        myconn.Close();

        //返回价格总额
        if (parameterTotalCost.Value.ToString() != "")
        {
            return (decimal)parameterTotalCost.Value;
        }
        else
        {
            return 0;
        }
    }

    // ShoppingCartRemoveItem方法用于从购物车中删除一种商品。

    public void ShoppingCartRemoveItem(string cartID, int BookID)
    {
        //读取数据库连接字符串
        string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
        //创建数据库连接对象
        SqlConnection myconn = new SqlConnection(settings);
        //打开数据库连接
        myconn.Open();

        SqlCommand myCommand = new SqlCommand("RemoveShoppingCartItem", myconn);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterCartIDString = new SqlParameter("@CartIDString", SqlDbType.Int, 4);
        parameterCartIDString.Value = cartID;
        myCommand.Parameters.Add(parameterCartIDString);

        SqlParameter parameterBookID = new SqlParameter("@BookID", SqlDbType.NVarChar, 50);
        parameterBookID.Value = BookID;
        myCommand.Parameters.Add(parameterBookID);

        //进行数据库操作
        myCommand.ExecuteNonQuery();
        //关闭数据库连接
        myconn.Close();
    }

    // ShoppingCartUpdate方法用于更新购物车里某件商品的购买数量

    public void ShoppingCartUpdate(string cartID, int BookID, int quantity)
    {
        //在修改购物车里某本图书的购买数量时,如果用户输入一个负数,则该函数抛出异常
        if (quantity < 0)
        {
            throw new Exception("购买数量不能为负数");
        }

        //读取数据库连接字符串
        string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
        //创建数据库连接对象
        SqlConnection myconn = new SqlConnection(settings);
        //打开数据库连接
        myconn.Open();

        SqlCommand myCommand = new SqlCommand("UpdateShoppingCart", myconn);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterCartIDString = new SqlParameter("@CartIDString", SqlDbType.NVarChar, 50);
        parameterCartIDString.Value = cartID;
        myCommand.Parameters.Add(parameterCartIDString);

        SqlParameter parameterBookID = new SqlParameter("@BookID", SqlDbType.Int, 4);
        parameterBookID.Value = BookID;
        myCommand.Parameters.Add(parameterBookID);

        SqlParameter parameterBookQuantity = new SqlParameter("@BookQuantity", SqlDbType.Int, 4);
        parameterBookQuantity.Value = quantity;
        myCommand.Parameters.Add(parameterBookQuantity);

        //进行数据库操作
        myCommand.ExecuteNonQuery();
        //关闭数据库连接
        myconn.Close();
    }
    public int PlaceOrder(string UserID, string cartID)
    {
        //读取数据库连接字符串
        string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
        //创建数据库连接对象
        SqlConnection myconn = new SqlConnection(settings);
        //打开数据库连接
        myconn.Open();

        SqlCommand myCommand = new SqlCommand("AddOrder", myconn);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterUserID = new SqlParameter("@UserID", SqlDbType.Int, 4);
        parameterUserID.Value = Int32.Parse(UserID);
        myCommand.Parameters.Add(parameterUserID);

        SqlParameter parameterCartID = new SqlParameter("@CartIDString", SqlDbType.NVarChar, 50);
        parameterCartID.Value = cartID;
        myCommand.Parameters.Add(parameterCartID);

        SqlParameter parameterOrderDate = new SqlParameter("@OrderDate", SqlDbType.DateTime, 8);
        parameterOrderDate.Value = DateTime.Now;
        myCommand.Parameters.Add(parameterOrderDate);

        SqlParameter parameterOrderID = new SqlParameter("@OrderID", SqlDbType.Int, 4);
        parameterOrderID.Direction = ParameterDirection.Output;
        myCommand.Parameters.Add(parameterOrderID);

        //进行数据库操作
        myCommand.ExecuteNonQuery();
        //关闭数据库连接
        myconn.Close();

        //利用存储过程的OUTPUT参数返回OrderID
        return (int)parameterOrderID.Value;
    }
    public OrderDetails GetOrderDetails(int orderID, string userID)
    {
        //读取数据库连接字符串
        string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
        //创建数据库连接对象
        SqlConnection myconn = new SqlConnection(settings);
        //打开数据库连接
        myconn.Open();

        SqlDataAdapter myCommand = new SqlDataAdapter("OrdersDetail", myconn);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterOrderID = new SqlParameter("@OrderID", SqlDbType.Int, 4);
        parameterOrderID.Value = orderID;
        myCommand.SelectCommand.Parameters.Add(parameterOrderID);

        SqlParameter parameterUserID = new SqlParameter("@UserID", SqlDbType.Int, 4);
        parameterUserID.Value = Int32.Parse(userID);
        myCommand.SelectCommand.Parameters.Add(parameterUserID);

        SqlParameter parameterOrderDate = new SqlParameter("@OrderDate", SqlDbType.DateTime, 8);
        //指出该参数是存储过程的OUTPUT参数
        parameterOrderDate.Direction = ParameterDirection.Output;
        myCommand.SelectCommand.Parameters.Add(parameterOrderDate);

        SqlParameter parameterOrderTotalCost = new SqlParameter("@OrderTotalCost", SqlDbType.Money, 8);
        parameterOrderTotalCost.Direction = ParameterDirection.Output;
        myCommand.SelectCommand.Parameters.Add(parameterOrderTotalCost);

        //创建数据集
        DataSet myDataSet = new DataSet();
        //往数据集里面填充数据
        myCommand.Fill(myDataSet, "OrderItems");

        //创建OrderDetails类的对象
        OrderDetails myOrderDetails = new OrderDetails();
        //利用存储过程的参数给对象myOrderDetails赋值
        myOrderDetails.OrderDate = (DateTime)parameterOrderDate.Value;
        myOrderDetails.OrderTotalCost = (decimal)parameterOrderTotalCost.Value;
        myOrderDetails.OrderItems = myDataSet;

        //返回数据
        return myOrderDetails;
    }
    public SqlDataReader GetUserOrders(String UserID)
    {
        //读取数据库连接字符串
        string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
        //创建数据库连接对象
        SqlConnection myconn = new SqlConnection(settings);
        //打开数据库连接
        myconn.Open();

        SqlCommand myCommand = new SqlCommand("ListOrders", myconn);

        //指明Sql命令的操作类型是使用存储过程
        myCommand.CommandType = CommandType.StoredProcedure;

        //给存储过程添加参数
        SqlParameter parameterUserID = new SqlParameter("@UserID", SqlDbType.Int, 4);
        parameterUserID.Value = Convert.ToInt32(UserID);
        myCommand.Parameters.Add(parameterUserID);

        //执行数据操作命令
        //SqlDataReader读取数据到记录集后,会自动关闭数据库的连接
        SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

        //返回DataReader的结果
        return result;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -