2010-04-16 55 views
1

我在寫SQL查詢到我的SqlCommand和他們的某些部分看起來像:問題與SQL像

WHERE Path like N'+(select top 1 path from [Paths] where [email protected] and [email protected])+%' order by path desc,objecttype desc 

我沒有得到任何記錄,卜當我寫相同的SQL Server 2005中我有很多行...

where path like (select top 1 path from [Paths] where objectcode='eg' and objecttype='0')+'%' 

爲了通過路徑遞減

有什麼不對?

@objectCode是「如」

我看到的東西:

我忘記添加cmd.parameters,和我沒有得到錯誤,所以我認爲SQL是看到了這個參數正常字符串,並沒有得到從那裏值,所以:

如: 得到它'[email protected]', 而不是'objectcode='EG''

回答

2

SQL不會代替你@objectcode參數BEC ause它在字符串文字中。

你需要擺脫字符串字面的,使用更多的東西一樣:

WHERE Path like (select top 1 path from [Paths] where [email protected] and [email protected])+'%' order by path desc,objecttype desc 

你有一個原因,你封閉在speechmarks子查詢?這不是必需的。