【发布时间】:2017-08-13 01:38:33
【问题描述】:
当我从表中SELECT 时,我存储的数据存储为问号。
@word是我的存储过程中的一个参数,值来自C#代码:
string word = this.Request.Form["word"].ToString();
cmd.Parameters.Add("@word", System.Data.SqlDbType.NVarChar).Value = word;
我的存储过程是这样的:
CREATE PROCEDURE ....
(
@word nvarchar(500)
...
)
Insert into rub_translate (language_id,name)
values (8 ,@word COLLATE HEBREW_CI_AS )
我的数据库和列正在使用 SQL_Latin1_General_CP1_CI_AS 排序规则,我无法更改它们。
谁能给我一个解决方案,我怎样才能通过修改列或表来解决这个问题?
【问题讨论】:
-
您能告诉我们您将值分配给
@word的代码吗?例如,如果将其设置为字符串文字但忘记了 N 前缀,则会遇到问题。 -
@Bridge
@word是我的存储过程中的一个参数,值来自 C# 代码:string word = this.Request.Form["word"].ToString(); cmd.Parameters.Add("@word", System.Data.SqlDbType.NVarChar).Value = word; -
OK - 在存储过程定义中,参数是否也是 NVARCHAR 类型的?
-
@Bridge 是的,当然
标签: sql-server tsql unicode collation