نمایش نتایج 1 تا 6 از 6

نام تاپیک: update کردن چند رکورد با id های مختلف

  1. #1

    update کردن چند رکورد با id های مختلف

    دستور update میخوام که روی رکوردهایی که id برابر 2 یا 4 یا 5 یا .... بود عمل کنه
    چون با آداپتر کار میکنم و تعداد اعداد هم تو برنامه مشخص میشه و ثابت نیست
    پس باید بصورت یک رشته به آداپتر پاس بشه
    ممنون

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    91
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    دستور update میخوام که روی رکوردهایی که id برابر 2 یا 4 یا 5 یا .... بود عمل کنه
    چون با آداپتر کار میکنم و تعداد اعداد هم تو برنامه مشخص میشه و ثابت نیست
    پس باید بصورت یک رشته به آداپتر پاس بشه
    ممنون
    دوست عزیز
    شما میتونید از کد زیر در غالب یک استوردپراسیجر استفاده کنید:


    DECLARE @UpdateItem int
    SET
    @UpdateItem=1
    DECLARE @SqlStr ASNVARCHAR(MAX)
    SET @SqlStr=''
    DECLARE @ID_Collection NVARCHAR(100)
    SET @ID_Collection='2,3,4,5'
    SET @SqlStr='UPDATE TableName
    SET F1='
    +CAST(@UpdateItem ASNVARCHAR)+'WHERE Id IN ('+@ID_Collection+')'


    EXEC(@SqlStr)

    که شما مقادیر متغیر @ID_Collection را در برنامه خود به صورت داینامیک میسازید و به استوردپراسیجر خود پاس میدهید که من در اینجا مقدار این متغیر را به صورت ثابت گرفتم



    موفق باشید

  3. #3
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    چون مقادیر ID شما مشخص نیست شما باید از Dynamic SQL استفاده کنین
    CREATE PROCEDURE UpdateTbl @prm_ID VARCHAR(100)
    AS
    EXECUTE( 'UPDATE dbo.Categories
    SET CategoryName = '' Test Word ''
    WHERE CategoryID IN (' + @prm_ID + ')' )

    EXECUTE UpdateTbl '4, 6'

  4. #4
    آیا تو استوردپراسیجر میشه از for استفاده کنم و هربار مقادیری عوض کنم و بعد در بانک ثبت کنم؟

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    91
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    آیا تو استوردپراسیجر میشه از for استفاده کنم و هربار مقادیری عوض کنم و بعد در بانک ثبت کنم؟
    در استوردپراسیجر for نداریم ولی بر حسب نیازتون میتونید از While یا Cursor استفاده کنید ولی یادتون باشه که cursor کارایی را پایین می اورد و تا حد امکان سعی کنید از cursor استفاده نکنید

  6. #6
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    آیا تو استوردپراسیجر میشه از for استفاده کنم و هربار مقادیری عوض کنم و بعد در بانک ثبت کنم؟
    در SQL Server باید از Cursors استفاده کنیند (ترجیحا" اگر واقعا" مجبورید استفاده کنید چون کند میکنه)
    نمونه
    USE Northwind
    GO

    DECLARE @CategoryName varchar(15)

    DECLARE authors_cursor CURSOR FOR

    SELECT CategoryName FROM dbo.Categories
    ORDER BY CategoryName

    OPEN authors_cursor

    FETCH NEXT FROM authors_cursor
    INTO @CategoryName

    WHILE @@FETCH_STATUS = 0
    BEGIN
    PRINT 'Test Category: ' + @CategoryName
    FETCH NEXT FROM authors_cursor
    INTO @CategoryName
    END
    CLOSE authors_cursor
    DEALLOCATE authors_cursor
    GO

تاپیک های مشابه

  1. مشکل در دانلود JDK 5.0 Update 8 از سایت sun
    نوشته شده توسط mehrdad2 در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 11
    آخرین پست: چهارشنبه 31 تیر 1388, 16:50 عصر
  2. مشکل در Update کردن
    نوشته شده توسط alex_kh58 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 11 بهمن 1385, 07:46 صبح
  3. update
    نوشته شده توسط javad0062 در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 07 شهریور 1385, 16:48 عصر
  4. یک سئوال در مورد Update کردن 2 جدول در Dbهای مختلف
    نوشته شده توسط mhaeri در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 29 مرداد 1385, 17:04 عصر
  5. چگونه از Update اطلاعات جداول در Ado مطلع شویم ؟
    نوشته شده توسط Mah6447 در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 22 مرداد 1385, 09:05 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •