Hi, I've got a DropDown list which is populated here.

with the use of a break in the code there is a value of 4 for shippingInfo.ShippingID.ToString()
ASP.NET Syntax (Toggle Plain Text)

Code:
if (addressOK) //&& cardOK
        {
            int shippingRegionId = int.Parse(Profile.ShippingRegion);
            List<ShippingInfo> shippingInfoData =
                CommerceLibAccess.GetShippingInfo(shippingRegionId);
            foreach (ShippingInfo shippingInfo in shippingInfoData)
            {
                shippingSelection.Items.Add(
                    new ListItem(shippingInfo.ShippingType,
                        shippingInfo.ShippingID.ToString()));
            }
            shippingSelection.SelectedIndex = 0;
        }
if (addressOK) //&& cardOK { int shippingRegionId = int.Parse(Profile.ShippingRegion); List<ShippingInfo> shippingInfoData = CommerceLibAccess.GetShippingInfo(shippingRegionId); foreach (ShippingInfo shippingInfo in shippingInfoData) { shippingSelection.Items.Add( new ListItem(shippingInfo.ShippingType, shippingInfo.ShippingID.ToString())); } shippingSelection.SelectedIndex = 0; }

then when the checkout button is selected here:

Code:
protected void placeOrderButton_Click(object sender, EventArgs e)
    {
            // store the total amount
        decimal amount = ShoppingCartAccess.GetTotalAmount();
            // get shippingId or default to 0
        int shippingId = 0;
        int.TryParse(shippingSelection.SelectedValue, out shippingId);
            // get tax ID or defalut to "No Tax"
        string shippingRegion =
            (HttpContext.Current.Profile as ProfileCommon).ShippingRegion;
        int taxId;
        switch (shippingRegion)
        {
            case "2":
                taxId = 1;
                break;
            default:
                taxId = 2;
                break;
        }
            // create the order and store the order id
        string orderId = 
            ShoppingCartAccess.CreateCommerceLibOrder(shippingId, taxId);
            // process order
        OrderProcessor processor = new OrderProcessor(orderId); 
        processor.Process();    
            // redirect to confirmation page
        Response.Redirect("OrderPlaced.aspx");
    }
with the use of a breakpoint the shippingId is 0 although a selection is made. Therefore I get an error

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Orders_Shipping". The conflict occurred in database "firebyte", table "dbo.Shipping", column 'ShippingID'.