【发布时间】:2011-10-10 09:04:30
【问题描述】:
我在 C# 中创建了一个 DataSet 和 DataTable 然后为 SQL Server 数据库制作报告(我使用报告查看器)。 我需要在数据库中搜索值字段 当我的价值是英语就像“测试”一样,一切都很好, 但是当我的值是 Arabic\Persian\Farsi 时,报表查看器不会向我显示任何内容。
我的查询是这样的:
SELECT DetailsProducts.DarSad, Materials.Material, Products.Product
FROM DetailsProducts INNER JOIN
Materials ON DetailsProducts.MaterialID = Materials.ID INNER JOIN
Products ON DetailsProducts.ProductID = Products.ProductID
WHERE (Products.Product = @Product)
当我需要一个值时,我可以使用这个查询:
SELECT DetailsProducts.DarSad, Materials.Material, Products.Product
FROM DetailsProducts INNER JOIN
Materials ON DetailsProducts.MaterialID = Materials.ID INNER JOIN
Products ON DetailsProducts.ProductID = Products.ProductID
WHERE (Products.Product =N'بطری') //(Bottle = بطری)
没关系,但是当我使用参数时,这个“N'exp'”不起作用。我该如何解决这个问题?
【问题讨论】:
-
数据库/列是 UTF8 吗?
@Product是什么类型?使用的连接字符串是什么?这是什么版本的 SQL Server? -
@Product is string\NvarChar and string connection = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\KianiWorkShopDB\\Kiani.mdf;User Instance=True;Integrated Security=True; ";我的版本 SQL Server 是 2008 ,关于你的第一个问题,我控制它并告诉你
-
MS SQL Server 在创建新数据库时默认支持 UTF-8。您可以使用 nvarchar 数据类型来存储 unicode 数据。 social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/…
-
我知道它支持 UTF8,但根据版本的不同,它有一些微妙的怪癖(V 2008 稍微少一点)......你描述了下面的答案应该可以工作......你试过了吗?
标签: c# internationalization datatable dataset