2013-07-19 56 views
0

我試圖用nhibernate插入一條記錄。這裏就是我得到的錯誤(或者說被我的測試控制檯應用程序顯示的消息中的第二部分,錯誤標題是捕捉到的異常。):使用nhibernate插入數據

NHibernate.GuitarStore assembly initialized. 
NHibernate: INSERT INTO INVENTORY (TYPEID, BUILDER, MODEL, QOH, COST, PRICE,RECEIVED)  
VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); select SCOPE_IDENTITY();@p0 = 1 [Type:Int32 (0)], @p1 = 'Test Builder 2' [Type: String (4000)], @p2 = 'Test Model 2' [Type: String (4000)], @p3 = 9 [Type: Int32 (0)], @p4 = 2000 [Type: Decimal (0)], @p5 = 200 [Type: Decimal (0)], @p6 = 7/19/2013 7:35:51 PM [Type: DateTime (0)] 

***** ERROR ***** 
could not insert: [NHibernate.GuitarStore.Common.Inventory][SQL: INSERT INTO INVENTORY (TYPEID, BUILDER, MODEL, QOH, COST, PRICE, RECEIVED) VALUES (?, ?, ?, ?,?, ?, ?); select COPE_IDENTITY()] - InnerExcepetion: Operand type clash: int is incompatible with image 

縱觀插入SQL生成的,在我看來那這些值匹配它們各自的類型。正如錯誤所說,我不知道哪個int與圖像不兼容。

PS:我不我類型的圖像數據庫有任何列

編輯:這裏有庫存的模式:

CREATE TABLE [dbo].[Inventory](builder] [varchar](50) NULL, [model] [varchar](50) NULL, 
[qoh] [image] NOT NULL, 
[cost] [decimal](18, 0) NOT NULL, 
[price] [decimal](18, 0) NOT NULL, 
[received] [datetime] NULL, 
[id] [int] IDENTITY(1,1) NOT NULL, 
[typeid] [int] NOT NULL, CONSTRAINT [PK_Inventory_1] PRIMARY KEY CLUSTERED 
(
[id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON PRIMARY] 
+0

您可以發表表格「INVENTORY」的模式嗎? –

+0

謝謝@BillGregg我用粘貼的模式編輯過。 – oliverdejohnson

回答

1

你所得到的錯誤,因爲列庫存量是Image類型,和您正試圖在該列中插入一個整數(9)。

+0

謝謝兄弟...我從來沒有打算讓qoh圖像,我不能相信它*覆蓋* – oliverdejohnson

+0

它發生。在調試東西時,它有助於挑戰和確認一切。 :) –