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

نام تاپیک: انجام کارهای Delete , Insert, Update با Store Procedure

  1. #1

    انجام کارهای Delete , Insert, Update با Store Procedure

    سلام
    خوبین؟
    میشه با Store Procedure کارهایی مثل Insert , delete, Update رو انجام داد؟
    یعنی تو یه Store Procedure تعریف کنم و تو برنامم اون Store Procedure رو صدا کنم؟
    مرسی

  2. #2

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    اصولي ترين روش اجراي (تقريبا) هر نوع دستور SQLي ، نوشتن اون بصورت يك SP و صدا زدن اون از طرف برنامه است.

  3. #3

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    مشکت چیه برا نوشتن Store procedure

  4. #4

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    من دوستورات رو مینویسم ولی کار نمیکنه!
    پیغام SuccessFull میده ولی کار نمیکنه

  5. #5

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    روند كلي كار رو ميگم:
    يك SP با ساختار كلي زير بنويسيد و بعد از انتخاب ديتابيس مورد نظر از منوي SQL Server ، روي دكمه Executeكليك كنيد.
    Create Proc ProcName
    --Declare Params
    AS
    --Sql Commands

    بعد از زدن دكمه Execute در صورتيكه مشكلي نداشته باشه SP بصورت كامل ذخيره ميشه.
    كارهاي سمت SQL Server تموم شد و براي اجراي اين SP سمت برنامه كافيه به جاي CommandText نام SP ايجاد شده رو بنويسيد‌ و CommandType رو از نوع StoredProcedure قرار بديد، در صورت داشتن پارامتر ورودي پارامتر ها رو بهش معرفي و مقدار دهي كنيد. در صورتي هم كه بخوايد اين SP رو سمت SQL Server اجرا كنيد (براي تست و يا استفاده از اين SP‌ در SPهاي ديگه) بصورت زير اين كار رو انجام بديد
    Exec SPName 'Value1', Value2, ...

  6. #6

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    مرسی
    مناین کارها رو انجام دادم

    USE [Test]
    GO
    /****** Object: StoredProcedure [dbo].[N] Script Date: 02/26/2011 14:18:46 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[N]
    As
    BEGIN
    DELETE
    FROM TestTbl
    END


    مشکل من اینه که کار نمیکنه
    مثلا تو کد بالا جدول رو خالی نمیکنه

  7. #7

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    يعني چي كار نميكنه؟ در صورتيكه اين SP توي ديتابيس ذخيره شده كد زير رو اجرا كنيد ببينيد كار ميكنه يا نه.
    USE [Test]
    Exec [dbo].[N]

    در صورت امكان نحوه اجراي اين SP رو هم توضيح و كدهاي مربوطه رو اينجا بذاريد.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خراسان
    سن
    33
    پست
    106

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    سلام دوستان ميشه براي دستورات Insert , delete, Update يه نمونه SP استاندارد بزاريد ؟
    اگه ميشه براي ايجاد USER‌در SQL هم يه نمونه بزاريد خيلي ممنون

    با تشكر

  9. #9

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    يك sp در پيوست موجود است .

    من تقريبا براي همه تيبل هايم از همين روش استفاده ميكنم .

    قسمت هاي غير فعال شده براي ذخيره اطلاعات قبلي ركورد در تيبل ديگري است تا امكان رديابي تغييرات باشد كه فعلا بكار شما نمي آيد .

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go


    ALTER PROCEDURE [dbo].[SpASTAssistsUpdate]
    @Mode as tinyint,
    @SerialNo as int,
    @FirstName as varchar(50),
    @LastName as varchar(50),
    @SurName as varchar(50),
    @Address as varchar(100),
    @Region as tinyint,
    @TelHome as varchar(50),
    @TelWork as varchar(50),
    @TelMobile as varchar(50),
    @TelFax as varchar(50),
    @Email as varchar(100),
    @WebSite as varchar(100),
    @JobRel as varchar(100)='',
    @Desc as varchar (100),
    @UserCode as char(10)

    AS
    declare @SerialNoTMP int
    --declare @UserCodeOld char(10)
    --declare @UserNameOld varchar(50)
    --declare @UserName varchar(50)
    begin

    --set @UserCodeOld = ( select UserCodeAST from ASTAssists where SerialNoAST = @SerialNo)
    --set @UserNameOld = ( select NamePUC from PUBUserCodes where CodePUC = @UserCodeOld )
    --set @UserName = ( select NamePUC from PUBUserCodes where CodePUC = @UserCode )
    /*
    set @FirstName = dbo.FixPersianString(@FirstName)
    set @LastName = dbo.FixPersianString(@LastName)
    set @SurName = dbo.FixPersianString(@SurName)
    set @Address = dbo.FixPersianString(@Address)
    set @SurName = dbo.FixPersianString(@SurName)
    set @JobRel = dbo.FixPersianString(@JobRel)
    set @Desc = dbo.FixPersianString(@Desc)
    */
    if @Mode = 1 begin
    INSERT INTO ASTAssists
    (
    FirstNameAST,
    LastNameAST,
    SurNameAST,
    AddressAST,
    RegionAST,
    TelHomeAST,
    TelWorkAST,
    TelMobileAST,
    TelFaxAST,
    EmailAST,
    WebSiteAST,
    JobRelAST,
    DescAST,
    UserCodeAST,
    TimeStamsAST
    )
    VALUES
    (
    @FirstName,
    @LastName,
    @SurName,
    @Address,
    @Region,
    @TelHome,
    @TelWork,
    @TelMobile,
    @TelFax,
    @Email,
    @WebSite,
    @JobRel,
    @Desc,
    @UserCode,
    getdate()
    )
    set @SerialNoTMP = @SerialNo
    end else if @Mode = 2 begin
    /*
    INSERT INTO ASTAssistsBak
    ( SerialNoAstBAST,
    FirstNameBAST,
    LastNameBAST,
    SurNameBAST,
    AddressBAST,
    RegionBAST,
    TelBAST,
    DescBAST,
    UserNameOldBAST,
    TimeStamsOldBAST ,
    StatusBAST,
    UserNameBAST,
    TimeStamsBAST )
    ( select
    SerialNoAST,
    FirstNameAST,
    LastNameAST,
    SurNameAST,
    AddressAST,
    RegionAST,
    TelHomeAST,
    DescAST ,
    @UserNameOld,
    TimeStamsAST,
    @Mode,
    @UserName ,
    getdate()
    from ASTAssists where SerialNoAST = @SerialNo)
    */
    UPDATE ASTAssists SET
    FirstNameAST = @FirstName,
    LastNameAST = @LastName,
    SurNameAST = @SurName,
    AddressAST = @Address,
    RegionAST = @Region,
    TelHomeAST = @TelHome,
    TelWorkAST = @TelWork,
    TelMobileAST = @TelMobile,
    TelFaxAST = @TelFax,
    EmailAST = @Email,
    WebSiteAST =@WebSite,
    JobRelAST =@JobRel,
    DescAST = @Desc,
    UserCodeAST = @UserCode,
    TimeStamsAST = getdate()
    WHERE
    SerialNoAST = @SerialNo
    set @SerialNoTMP = @SerialNo
    end else if @Mode = 3 begin
    begin TRANSACTION
    /*
    INSERT INTO ASTAssistsBak
    ( SerialNoAstBAST,
    FirstNameBAST,
    LastNameBAST,
    SurNameBAST,
    AddressBAST,
    RegionBAST,
    TelBAST,
    DescBAST,
    UserNameOldBAST,
    TimeStamsOldBAST ,
    StatusBAST,
    UserNameBAST,
    TimeStamsBAST )
    ( select
    SerialNoAST,
    FirstNameAST,
    LastNameAST,
    SurNameAST,
    AddressAST,
    RegionAST,
    TelHomeAST,
    DescAST ,
    @UserNameOld,
    TimeStamsAST,
    @Mode,
    @UserName ,
    getdate()
    from ASTAssists WHERE SerialNoAST = @SerialNo)
    */
    DELETE ASTAssists WHERE SerialNoAST = @SerialNo
    if @@error = 0 begin
    COMMIT
    end begin
    ROLLBACK
    end
    set @SerialNoTMP = (select top 1 SerialNoAST from ASTAssists where SerialNoAST < @SerialNo order by SerialNoAST desc)
    end
    return @SerialNoTMP
    end;






  10. #10
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    خراسان
    سن
    33
    پست
    106

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    خيلي ممنون از راهنمايي تون اگه ميشه توضيح بدين در موردش و اين كد چي رو بر مي گردونه
    return @SerialNoTMP 

    دوست عزيز حالا ميشه توضيح بدين كه چطور اين sp ها را فراخاني كنم با مقدار

  11. #11

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    با سلام

    نمونه SP ساده رو گذاشتم امیدوارم کمکتون کنه

    Insert:

    CREATE PROCEDURE Insert_Student
    @Scode NVARCHAR(15)
    ,@SFName NVARCHAR(50)
    ,@SLName NVARCHAR(50)
    ,@SPName NVARCHAR(50)
    ,@Snationalcode NVARCHAR(15)
    ,@ID INT OUTPUT
    AS
    BEGIN
    SET NOCOUNT ON;
    INSERT INTO Student
    (SCode, SFName, SLName, SPName, Snationalcode)
    VALUES (@Scode, @SFName, @SLName, @SPName,@Snationalcode)
    SET @ID=scope_identity()

    END


    Update:
    CREATE PROCEDURE Update_Student
    @Scode NVARCHAR(15)
    ,@SFName NVARCHAR(50)
    ,@SLName NVARCHAR(50)
    ,@SPName NVARCHAR(50)
    ,@Snationalcode NVARCHAR(15)
    ,@ID INT
    AS
    BEGIN
    SET NOCOUNT ON;
    UPDATE Student SET
    SCode=@Scode
    ,SFName =@SFName
    ,SLName =@SLName
    ,SPName =@SPName
    ,Snationalcode =@Snationalcode

    WHERE Id=@ID

    END


    Delete:

    CREATE PROCEDURE Delete_Student
    @ID INT
    AS
    BEGIN
    SET NOCOUNT ON;

    DELETE FROM Student

    WHERE Id=@ID

    END

  12. #12

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    سلام
    من فقط با دلفي كار ميكنم و ميتوانم كمكت كنم .
    مقدار بازگشتي شماره سريال ركورد اضافه شده را برميگرداند . در من در برنامه هايم پس از اضافه كردن ركورد به يك تيبل همان ركورد را در حالت انتخاب شده در يك گريد نشان ميدهم تا كاربر به كارش مطمئن شود . در ضمن خط شماره 80 بايد به اين صورت اصلاح شود
    set
    @SerialNoTMP =@@identity
    سعيد سميعي


  13. #13

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    سلام
    من این دستور را در C#‎ نوشتم اجرا هم میشه dataGradeview هم اونا نشون میده.
    اما مشکل من اینه که فقط تو dataGradeview هست و هیچی تو اصل پایگاه داده ذخیره نمیشه.

  14. #14
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

    نقل قول: انجام کارهای Delete , Insert, Update با Store Procedure

    با سلام این یک نمونه برنامه ساخت sp در sql server و فراخوانی sp در سی شارپ
    عملیات درج،ویرایش،حذف

    لینک دانلود>>Test_StoredProcedure.rar

    اگر کارتو راه انداخت ممنون میشم از دکمه تشکر استفاده کنی

    موفق باشی

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

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