VS 2010 - ASP.Net(C#)で開発中の多言語Webアプリケーションを作成しています。SQL Server 2008でストアドプロシージャを使用してUnicodeテキストを保存する方法
私は例
Insert INTO Test (E,A) VALUES('Some English Text',N'الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ')
のためのストアドプロシージャせずに、単純なINSERT文を使用している場合、私はUnicodeデータのためにNを追加するときには、正常に動作し何の問題もなく、それを挿入することができます。私の質問は、どうすれば問題なしでデータを保存できるように、ストアドプロシージャにこの 'N'を追加することができます。別の方法でNを入れようとしましたが、ストアドプロシージャで構文エラーが発生しました
以下は、私が使用しているストアドプロシージャの例です。
ALTER PROCEDURE [dbo].[usp_AddNewPageDetails]
-- Add the parameters for the stored procedure here
@PageNameEnglish varchar(100),
@PageNameArabic nvarchar(300),
@PageTitleEnglish varchar(300),
@PageTitleArabic nvarchar(900),
@PageDescEnglish varchar(400),
@PageDescArabic nvarchar(1200),
@PageKeywordsEnglish varchar(120),
@PageKeywordsArabic nvarchar(400),
@PageBodyEnglish varchar(MAX),
@PageBodyArabic nvarchar(MAX),
@PageLinkPosition int,
AS
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
BEGIN
INSERT INTO pg_Pages(
PageNameEnglish,PageNameArabic,PageTitleEnglish,PageTitleArabic,PageDescEnglish,
PageDescArabic,PageKeywordsEnglish,PageKeywordsArabic,PageBodyEnglish,
PageLinkPosition,PageLayoutPosition,PageBannerImageEnglish,)
VALUES
(@PageNameEnglish,@PageNameArabic,@PageTitleEnglish,@PageTitleArabic,@PageDescEnglish,
@PageDescArabic,@PageKeywordsEnglish,@PageKeywordsArabic,@PageBodyEnglish,)
END
返信いただければ幸いです。
保存されたprocはうまくいくようです - 私たちに**表示する** **どのように**あなたのC#コードからこの保存されたprocを呼び出すことができますか?また、サイドノートとして:ストア* D *プロシージャ(最後は** D **) - **ストアド** SQL Server - それは "ストア"とは関係ありません.... –
@marc_s:これらのタイプミスに気付きました。ストアドプロシージャが正常に動作しています。ストアドプロシージャを削除して再作成しました。&charmのように動作しています...問題の一部は解決されています。私たちは単純なSELECT、INSERT UPDATEステートメントを使用して権限を取得します。 – Learning
私は彼の質問に言い換えます:文字列リテラルがユニコードであることを示すには、Nの前にNを入れます: 'N 'الحمدللهربالعالمین''@variableをどのような構文で表示する必要がありますか? – Hossein