将 nHibernate sql 转换为手动 sql



我正在追踪一个nHibernate问题。 Exception thrown: 'NHibernate.Exceptions.GenericADOException' in NHibernate.dll就是它告诉我的全部。我show_sql设置为真。所以我想我会在SQL Server Management Studio中手动尝试nHibernate中的sql。我添加了声明语句。现在我收到此错误:"在最后一行执行时,'@p0'附近的语法不正确。我做错了什么?

DECLARE @p0 VARCHAR(50);  
DECLARE @p1 INT;  
DECLARE @p2 DATETIME;  
DECLARE @p3 INT;  
DECLARE @p4 VARCHAR(10);  
DECLARE @p5 VARCHAR(50);  
DECLARE @p6 VARCHAR(80);  
DECLARE @p7 DECIMAL(11,2);  
DECLARE @p8 DATETIME;  
DECLARE @p9 VARCHAR(80);  
DECLARE @p10 INT;  
DECLARE @p11 VARCHAR(50);  
INSERT INTO MMDAML.dbo.tblMyProjectTable   
(Name, Size, UploadDate, RefId, RefType, Type, Alias, Amount, Date, Number, Stage, Caption) VALUES   
(@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11);   
select SCOPE_IDENTITY();  
@p0 = 'Project317.png' [Type: String (4000)], @p1 = 77756 [Type: Int32 (0)], @p2 = 4/14/2017 10:51:54 AM [Type: DateTime (0)], @p3 = 317 [Type: Int32 (0)], @p4 = 'Project' [Type: String (4000)], @p5 = 'Invoice' [Type: String (4000)], @p6 = 'Contract.png' [Type: String (4000)], @p7 = 4455 [Type: Decimal (0)], @p8 = 4/14/2017 10:51:23 AM [Type: DateTime (0)], @p9 = '987987' [Type: String (4000)], @p10 = 0 [Type: Int32 (0)], @p11 = NULL [Type: String (4000)]
;

分隔批处理的符号,您必须在@p0之前添加SET或其他SELECT关键字才能使其成为完整的语句。例如

select SCOPE_IDENTITY();  
SET @p0 = 'Project317.png'...

select SCOPE_IDENTITY();  
SELECT @p0 = 'Project317.png'...

最新更新