2012-08-09 54 views
1

我試圖將產品添加到購物車,但它返回如下:更新條目中出現重複的值不能插入唯一索引(但...)

錯誤。詳情請參閱內部例外。

內部異常:System.Data.SqlServerCe.SqlCeException(0X80004005): 重複的值不能被插入到一個唯一索引。 [表名 =車,約束名稱= PK_ _0000000000000997]處 System.Data.SqlServerCe.SqlCeCommand.ExecuteCommandText(IntPtr的System.Data.SqlServerCe.SqlCeCommand.ProcessResults(的Int32小時)& pCursor,布爾& isBaseTableCursor )在 System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(的CommandBehavior 行爲,字符串方法,ResultSetOptions選項)在 System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery()在 System.Data.SqlServerCe.SqlCeMultiCommand.ExecuteNonQuery()在 System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnect離子連接,字典2 identifierValues, List 1個generatedValues)在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter適配器)在 System.Data.Mapping.Update.Internal.UpdateTranslator

堆棧跟蹤.Update(IEntityStateManager stateManager,IEntityAdapter適配器)在 System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)在 System.Data.Objects.ObjectContext.SaveChanges(SaveOptions選項)在 System.Data.Objects.ObjectContext .SaveChanges() JTS.Security.Identity.Push.ToCart(Int32 userId,String pa rtNumber, c:\ Users \ Jase \ Documents \ Visual Studio 2012 \ WebSites \ One \ App_Code \ JTS.cs中的字符串productDescription,Int32數量,Decimal price,Decimal lineTotal,String orderId,DateTime dateTime,Boolean isBoxed) :251行

但事情是,我沒有任何唯一索引。我甚至嘗試刪除所有的主鍵(只是爲了看看是否會改變任何東西) - 它沒有。

代碼:

public bool ToCart(int userId, 
        string partNumber, 
        string productDescription, 
        int quantity, 
        decimal price, 
        decimal lineTotal, 
        string orderId, 
        DateTime dateTime, 
        bool isBoxed) 
       { 
        bool addedToCart = false; 

        try 
        { 
         Cart cart = new Cart() 
         { 
          UserId = userId, 
          PartNumber = partNumber, 
          Description = productDescription, 
          Quantity = quantity, 
          Price = price, 
          LineTotal = lineTotal, 
          OrderId = orderId, 
          OrderDate = dateTime, 
          IsBoxed = isBoxed 
         }; 

         database.AddToCarts(cart); 
         database.SaveChanges(); 

         addedToCart = true; 
        } 
        catch (Exception exception) 
        { 
         addedToCart = false; 
         //Response(exception.Message); 
         addToCartExceptionDetails = exception.Message + 
          Environment.NewLine + Environment.NewLine + "Inner exception" + 
          exception.InnerException + 
          Environment.NewLine + Environment.NewLine + "Stack trace" + 
          exception.StackTrace; 
        } 

        return addedToCart; 
       } 

另外,如果我創建一個新的訂單(這將創建一個新的OrderID),將一個項目添加到購物車。但是,它不會在現有OrderId下添加超過1個物品到購物車!

我在做什麼錯?爲什麼這不起作用?

表定義
Column Name Data Type Length Allow Nulls  Unique Primary Key 
UserId  int   4  Yes    No  No 
OrderId  nvarchar 1000  No    No  Yes 
+0

請添加您的表格結構 – 2012-08-09 15:02:21

+0

我剛剛做了,雖然新用戶無法添加圖片,所以我在單獨的選項卡中輸入了所有內容。 – 2012-08-09 15:03:12

+0

爲什麼這麼多倒票? – 2012-08-09 15:07:30

回答

0

如果你有,你刪除並重新添加內容的表,可以同時用等於現有的ID 的ID插入新行你爲什麼不檢查這個得到這個錯誤Link表格更多信息

相關問題