PDA

View Full Version : کاراکتر ' در SP



فؤاد
سه شنبه 17 اسفند 1389, 15:33 عصر
سلام

چطور میتوانیم در مقدار پارامترهای ارسالی به یک SP از کاراکتر ' استفاده کنیم.

مثال :




ALTER PROCEDURE [dbo].[SP_DynamicEdit]
@TableName NVARCHAR(50),
@FieldsAndValues Nvarchar(50),
@FieldName Nvarchar(50),
@FID Nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;

DECLARE @Command NVARCHAR(max)

SET @Command = 'Update ' + @TableName + ' Set '
SET @Command = @Command + @FieldsAndValues
SET @Command = @Command + ' Where ' + @FieldName + '=' + @FID


exec (@Command)
END



نمونه کوئری که به SP پست میکنیم





SP_DynamicEdit 'Tbl_Organizations','Organization=N('سازمان فلان')','ID','4'

Reza_Yarahmadi
سه شنبه 17 اسفند 1389, 16:29 عصر
بصورت زیر استفاده کنید
SET @Command = 'Update ' + @TableName + ' Set '
SET @Command = @Command + Replace(@FieldsAndValues, '''', '''''''')
SET @Command = @Command + ' Where ' + @FieldName + '=' + @FID
توی این دستر کاراکتر ' با ''' جایگزین که باعث میشه درون رشته شما درست کار کنه.

ASKaffash
چهارشنبه 18 اسفند 1389, 10:22 صبح
سلام
از Char(39) استفاده کنید

فؤاد
پنج شنبه 19 اسفند 1389, 13:47 عصر
سلام
از Char(39) استفاده کنید

سلام

با تشکر از پاسخ دوستان / ممکنه مثال استفاده از کاراکتر 39 رو بگید.

ASKaffash
شنبه 21 اسفند 1389, 08:21 صبح
سلام


Declare @i int,@Cmd Varchar(1000)
Set @i=10
Set @Cmd='Select '+Char(39)+'i-'+Convert(VarChar(5),@i)+Char(39)
Exec(@Cmd)