例如,我有一个包含以下内容的表:
CREATE TABLE [dbo].[PrimaryCategory]
(
[Id] INT IDENTITY(1, 1) NOT NULL,
[Title] NVARCHAR(250) NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
并且我将一些数据插入表中
using (var ctx = new DatabaseEntities())
{
List<PrimaryCategory> categories = new List<PrimaryCategory>()
{
new PrimaryCategory() { Title = "政策理论" },
new PrimaryCategory() { Title = "佛学讲记" },
new PrimaryCategory() { Title = "佛学禅定" },
new PrimaryCategory() { Title = "佛教心理学" },
new PrimaryCategory() { Title = "人物介绍" },
new PrimaryCategory() { Title = "幽默格言" },
new PrimaryCategory() { Title = "文学" },
new PrimaryCategory() { Title = "动态报道" },
new PrimaryCategory() { Title = "介绍佛陀" },
new PrimaryCategory() { Title = "介绍佛教" },
new PrimaryCategory() { Title = "佛教故事" },
new PrimaryCategory() { Title = "生活的教育" },
new PrimaryCategory() { Title = "海内外佛教" }
};
ctx.PrimaryCategory.AddRange(categories);
ctx.SaveChanges();
};
但是它在datagridview中显示???
,如果在datagridview中更改了数据,???
将再次出现:
1)检查数据库中的编码。如果在数据库属性Title = ???中,则在db中更改编码使用
ALTER DATABASE [YOURDATABASE] COLLATE SQL_Latin1_General_CP1_CS_AS
2)如果DB中显示正常的标题,则在使用Encoding.Convert将PrimaryCategory类转换为Unicode时,更改编码。
使用以下sql更改排序规则: