【发布时间】:2013-01-29 18:05:01
【问题描述】:
我想在 MSSQL 2008 中插入一个带有商标符号 (™) 的字符串。
当我搜索问题时,我发现了一些基于 SQL 的解决方案:
修剪符号:
SELECT REPLACE('Microsoft™',char(153),'')
只插入符号:
INSERT mytable(col1) VALUES (char(153))
我也阅读了this 的问题,但我找不到解决方案。
有没有办法使用 Linq to SQL 插入带有符号的单词(如“Microsoft™”)?
我在 nvarchar 列上进行了试验。
编辑:
这是我的桌子:
这是我在 dbml 的映射:
这是我的代码:
var db = new DBDataContext();
Seller seller;
if(!db.GetTable<Seller>().Any(s => s.Username == username))
{
seller = new Seller {Username = username, SellerName = name, FeedbackCount = feedback};
db.Sellers.InsertOnSubmit(seller);
db.SubmitChanges();
}
这是我要插入的名称:B♥Râ™
这是生成的 SQL:
INSERT INTO [dbo].[Sellers]([Username], [SellerName], [FeedbackCount])
VALUES (@p0, @p1, @p2)
SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
-- @p0: Input VarChar (Size = 8000; Prec = 0; Scale = 0) [testuser]
-- @p1: Input NVarChar (Size = 4000; Prec = 0; Scale = 0) [B♥Râ™]
-- @p2: Input Int (Size = -1; Prec = 0; Scale = 0) [886]
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 4.0.30319.17929
【问题讨论】:
-
哪个领域出现问题?卖家名还是用户名?无论是哪一个,我们能否看到为该属性生成的 c#,包括属性? (只需单击您感兴趣的属性并按 f12)
-
仅使用商标符号有效!但我想我有编码问题。但是我根据this问题解决了。
标签: c# sql-server-2008 linq-to-sql