SQL использует Unicode N в хранимой процедуре с переменной - PullRequest
3 голосов
/ 13 августа 2010

У меня есть следующая хранимая процедура, я ищу правильный синтаксис, чтобы я мог воспроизвести значение «Комментарии» в столбце «Комментарии» с N в начале значением Unicode. Мне нужно сохранить значения русских символов

момент передачи значения комментариев как такового

@ comments

Я хочу сделать

N @ комментариев, но не работает

ALTER PROCEDURE [dbo].[spInsertContactUs]
(
@title VARCHAR(20) = default,
@forename VARCHAR(100) = default,
@surname VARCHAR(100) = default,
@gender VARCHAR(50) = default,
@address1 VARCHAR(100) = default,
@address2 VARCHAR(100) = default,
@city VARCHAR(50) = default,
@county VARCHAR(50) = default,
@country INT = default,
@zipcode VARCHAR(50) = default,
@email VARCHAR(200) = default,
@comments NVARCHAR(MAX) = default,
@mailinglist BIT = default,
@address3 VARCHAR(100) = default,
@dateOfBirth datetime = default
)
AS
SET NOCOUNT ON

INSERT INTO tblContactUs (
dateAdded,
title,
forename,
surname,
gender,
address1,
address2,
city,
county,
country,
zipcode,
email,
comments,
mailinglist,
address3,
dateOfBirth)
VALUES (
getdate(),
@title,
@forename,
@surname,
@gender,
@address1,
@address2,
@city,
@county,
@country,
@zipcode,
@email,
@comments,
@mailinglist,
@address3,
@dateOfBirth
)

SET NOCOUNT OFF
RETURN

;

Ответы [ 3 ]

3 голосов
/ 13 августа 2010

Использовать Nvarchar тип данных в полях таблицы и параметрах сохраненных процедур.

ДОБАВЛЕНО

См. эту ссылку, возможно, это поможет вам.

0 голосов
/ 03 февраля 2017

Это работает.Я понял это сам:

Command.Parameters.Add("@prc", SqlDbType.NVarChar).Value = strPrc; 

Вам нужно изменить свой SqlDbType на NVarChar.Вам также нужно изменить поле на поле Nvarchar и хранимую процедуру на него.

0 голосов
/ 23 мая 2016
declare @a nvarchar(50)
set @a =N'تست'

exec('INSERT INTO [dbo].[tblP] ([productVal],[name],[month])  VALUES ( 9, '+'N'''+@a+''',1)')
INSERT INTO [dbo].[tblP] ([productVal],[year],[month])  VALUES ( 9, N'تست',1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...