2012-10-03 29 views
0

我使用此代碼從一個表在SQL Server 2008中進行選擇:錯誤,從表中的SQL Server中選擇數據

sqlcomm.CommandText = "select [objId] from [tablename] where href = @href" 

在我的表類型的hrefntext,我使用此代碼選擇:

sqlcomm.Parameters.Add("@href", SqlDbType.NVarChar); 
sqlcomm.Parameters["@href"].Value = 'somestring'; 
IDataReader reader = sqlcomm.ExecuteReader(); 

但它的錯誤:

的數據類型的ntext和varchar是不相容的我n等於運營商

當我使用SqlDbType.NText它有同樣的錯誤。我不能在我的表格中更改href列的類型。當我使用like @href它可以工作,但我不能使用LIKE,因爲我想要完全匹配。

我該如何解決我的問題?

+0

您的HREF參數類型是NVarChar?這應該匹配基礎類型。 –

+0

你**可以**使用'LIKE'作爲'ntext'。只是不包含任何通配符。不過這並不重要,因爲這個列無論如何都不能被索引。 –

回答

0

您不能在SQL中的where子句中使用ntext列。如果你不能改變現有的列類型egCAST(href AS nvarchar(max)),我建議轉換SQL語句中的列。

相關問題