我正在開發VS 2010中的多語言Web應用程序 - ASP.Net(C#)。如何在SQL Server 2008中使用存儲過程保存Unicode文本
我可以將它沒有任何問題,如果我用一個簡單的插入語句沒有存儲過程例如
Insert INTO Test (E,A) VALUES('Some English Text',N'الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ الرَّحْمَٰنِ الرَّحِيمِاللَّهِ الرَّحْمَٰنِ')
它正常工作時,我加正爲Unicode數據。我的問題是如何在存儲過程中添加這個'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
回覆讚賞。
存儲過程似乎很好 - 你能告訴我們**你如何從你的C#代碼調用這個存儲過程?此外,作爲一個方面說明:它是存儲* D *程序(在末尾具有** D **) - **在SQL Server中存儲** - 它與「存儲」無關......。 – 2012-01-04 18:09:39
@marc_s:感謝您注意到這些錯別字。存儲過程正常工作,現在我刪除並重新創建了存儲過程,現在它工作得像魅力...問題的一部分被解決了,其他部分是我們需要把SP放在SP中,因爲我們必須把它放在簡單的SELECT,INSERT和UPDATE語句來獲得正確的。 – Learning 2012-01-04 18:40:13
我改寫他的問題:爲了顯示一個字符串文字是unicode,我們把它放在它之前:'N'الحمدللهربالعالمین''現在我們必須顯示一個@variable的語法是unicode? – Hossein 2012-01-04 18:54:56