2013-07-19 57 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

它发生。在调试东西时,它有助于挑战和确认一切。 :) –