2010-11-09 21 views
0

我使用存儲過程和DataContext的插入數據到SQL Server數據庫(ASP.NET 4 + SQL Server 2005數據庫,GoDaddy的主機)無法插入俄文本到SQL Server2005分貝

但插入俄文本後我看到這樣的行爲 - '??????'

如果我插入常量文本,我正在使用以下構造 - N'russian_text',它工作正常。

當然,我需要使用變量作爲過程參數,但我不能用它(例如 - N的@變種失敗)雖然我使用表N型字段

nvarchar等)

有誰知道哪裏錯了?

回答

2

NVARCHAR變量聲明爲

DECLARE @var NVARCHAR(100) 
SET @var = N'unicode text' 

而不是DECLARE N - [VAR ......,集合N @ VAR

同樣適用於程序和功能參數

CREATE PROCEDURE InsertUnicodeData(@data NVARCHAR(200)) AS 
.... 
+0

我只需要在dbml文件中刷新程序。無論如何,謝謝大家的幫助! – George 2010-11-10 22:31:26

1

.NET中的SqlParamter變量需要是SqlDbType.NVarChar類型。
現在它們是SqlDbType.VarChar。
在SQL Server你@Text必須爲nvarchar(ColLength)