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

نام تاپیک: ساخت استورپراسیجر در سی شارپ

  1. #1

    Question ساخت استورپراسیجر در سی شارپ

    باسلام

    من یک استور پراسیجر دارم که میخواهم در لود فرمم ایجاد بشه ازش استفاده کنم و پس از بستن فرم دراپ بشه ممنون میشم راهنمایی بفرمایید کد استورپراسیجر را میزارم
    زبان مورد استفاده من سی شارپ بوده و ویندوز فرم می باشد.


    IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'dbo.TTMS_Kharid')
    DROP PROCEDURE dbo.TTMS_Kharid


    USE [IFS_803]
    GO
    /****** Object: StoredProcedure [dbo].[TTMS_Kharid] Script Date: 01/17/1398 02:51:51 ب.ظ ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    create PROCEDURE [dbo].[TTMS_Kharid]


    @Fpid int,
    @SCODE INT
    AS
    BEGIN


    select ROW_NUMBER()over(order by Price) as Radif,* from
    (select * from
    (select 0 as Sarjam,0 as IsHagholAmalKari,12 as KalaType
    ,(select Name from __Merchandise__ where id = b.MerchandiseId and FPId=@Fpid)KalaKhadamatName,0 as KalaCode,case when a.FactorType in (0,10) then 0 else -1 end as BargashtType,
    b.AuxAmount as Price,(b.VTax-b.VCharge)as MaliatArzeshAfzoodeh,b.VCharge as AvarezArzeshAfzoodeh,'0' as SayerAvarez, '0' as TakhfifPrice,


    MType+1 as HCForoushandeTypeCode,ZipCode as ForoushandePostCode,'0' as ForoushandePerCityCode,PhoneNo as ForoushandeTell,Address as ForoushandeAddress
    ,Name as ForoushandeName,Family as ForoushandeLastNameSherkatName,EcCode as ForoushandeEconomicNO,c.TRes as ForoushandeNationalCode
    ,5 as HCForoushandeType1Code,cast((select code from __AccGeo__ where id=Province)as bigint) StateCode
    ,cast((select code from __AccGeo__ where id=Division)as bigint) CityCode,0 as ArzType,0 as Arz_Price,0 as Arz_MaliatArzeshAfzoodeh,0 as Arz_AvarezArzeshAfzoodeh
    ,0 as Arz_SayerAvarez,0 as Arz_TakhfifPrice,0 as ArzBarabari_Price,0 as ArzBarabari_TakhfifPrice,0 as ArzBarabari_MaliatArzeshAfzoodeh,0 as ArzBarabari_AvarezArzeshAfzoodeh,0 as ArzBarabari_SayerAvarez,0 as MoadelRialiPrice,0 as MoadelRialiTakhfifPrice,
    0 as MoadelRialiMaliatArzeshAfzoodeh,0 as MoadelRialiAvarezArzeshAfzoodeh,0 as MoadelRialiSayerAvarez,
    FactorNo,dbo.__MiladiToShamsi__(a.SPDate) as FactorDate,cast(SanadNo as bigint) as SanadNo ,SanadDate,'0' as IsSent
    from __SPFactor__ a
    inner join __SPArticle__ b
    on a.Id=b.SPId
    and a.FPId=b.FPId
    and a.FPId=@Fpid
    and a.FactorType in (0,2,10)
    inner join __Customer__ c
    on a.CustomerId=c.Id
    inner join
    (select * from
    (select a.InvSPId,b.SanadNo,dbo.__MiladiToShamsi__(b.TDate ) SanadDate,
    case when SCode in (1,2,3,4) then '1'
    when SCode in (5,6,7) then '2'
    when SCode in (8,9,10) then '3'
    else '4' end as Scode
    from __Article__ a
    inner join __Transaction__ b
    on a.TransId=b.Id
    and a.FPId=b.FPId
    and b.Committed<>0
    and b.SCode<>0
    where b.FPId=@Fpid
    and a.InvSPId<>0)T
    group by InvSPId,SanadNo,SanadDate,Scode)TT
    on a.Id=tt.InvSPId
    and tt.Scode=@Scode)t
    union all
    select -1,0,'','',0,0, (select sum(debit) from
    (select sum(Debit)Debit,
    case when SCode in (1,2,3,4) then '1'
    when SCode in (5,6,7) then '2'
    when SCode in (8,9,10) then '3'
    else '4' end as Scode
    from __Article__ a
    inner join __Transaction__ b
    on a.TransId=b.Id
    and a.FPId=b.FPId
    where a.FPId=@Fpid
    and a.InvMTId<>0
    and a.InvSPId=0
    and left(a.AccountId,2)in ('81','22')
    group by SCode)t
    where Scode=@Scode),cast((select round((sum(debit*6/100)),0) from
    (select sum(Debit)Debit,
    case when SCode in (1,2,3,4) then '1'
    when SCode in (5,6,7) then '2'
    when SCode in (8,9,10) then '3'
    else '4' end as Scode
    from __Article__ a
    inner join __Transaction__ b
    on a.TransId=b.Id
    and a.FPId=b.FPId
    where a.FPId=@Fpid
    and a.InvMTId<>0
    and a.InvSPId=0
    and left(a.AccountId,2)in ('81','22')
    group by SCode)t
    where Scode=@Scode)as nvarchar),cast((select round((sum(debit*3/100)),0) from
    (select sum(Debit)Debit,
    case when SCode in (1,2,3,4) then '1'
    when SCode in (5,6,7) then '2'
    when SCode in (8,9,10) then '3'
    else '4' end as Scode
    from __Article__ a
    inner join __Transaction__ b
    on a.TransId=b.Id
    and a.FPId=b.FPId
    where a.FPId=@Fpid
    and a.InvMTId<>0
    and a.InvSPId=0
    and left(a.AccountId,2)in ('81','22')
    group by SCode)t
    where Scode=@Scode)as nvarchar),'0','0','','','','','','','','','','7',' ','','','','','','','','','','','','','','','','', '','','','0','','0'
    )TT
    end

  2. #2

    نقل قول: ساخت استورپراسیجر در سی شارپ

    سلام و خسته نباشید دوست عزیز بنده یک نمونه با پروسیجر نویسی نوشتم دستورات پروسیجر هم داخلش هستش این پروژه بنده هستش https://barnamenevis.org/showthread.p...8C%D8%B3%DB%8C میتوانید مشاهده کنید ارتباط برنامه با پروسیجر به صورت خیلی راحت و کدنویسی دیتابیس با دو دستور پرامتری حتی پروژه های بزرگ خلاصه شده

  3. #3

    نقل قول: ساخت استورپراسیجر در سی شارپ

    همه این دستورات با linq قابل اجرا هست،
    البته میشه ایجوری هم نوشت:
     public void DoCommand(string ole)
    {
    con = new OleDbConnection();
    //for sql
    //con=new SqlConnection();

    con.ConnectionString = Program.connect;

    //for sql
    //con.ConnectionString="server=(local);trusted_conne ction=yes;database=telephon;";

    cmd = new OleDbCommand();

    //for sql
    //cmd=new SqlCommand();
    cmd.Connection = con;
    con.Open();
    cmd.CommandText = ole;
    cmd.ExecuteNonQuery();
    con.Close();
    }

  4. #4

    نقل قول: ساخت استورپراسیجر در سی شارپ

    نقل قول نوشته شده توسط saeidfar مشاهده تاپیک
    همه این دستورات با linq قابل اجرا هست،
    البته میشه ایجوری هم نوشت:
     public void DoCommand(string ole)
    {
    con = new OleDbConnection();
    //for sql
    //con=new SqlConnection();

    con.ConnectionString = Program.connect;

    //for sql
    //con.ConnectionString="server=(local);trusted_conne ction=yes;database=telephon;";

    cmd = new OleDbCommand();

    //for sql
    //cmd=new SqlCommand();
    cmd.Connection = con;
    con.Open();
    cmd.CommandText = ole;
    cmd.ExecuteNonQuery();
    con.Close();
    }
    این OleDbConnection که شما قرار دادید برای اکسس هستش و برای sql server نیست و همین طور اون سورس فایل بنده با پروسیجر هستش که کنویسی حرفه ای بهش اضافه کردم که شما با یک بار نوشتن دستور دستورات دیتابیس دیگر نیاز به نوشتن دستورات دیتابیس نباشه و فقط مقدار پرامتر ها رو بهش ارسال میکنید اون خودش متوجه میشه هر پرامتر برای کدام پروسیجر هستش و یک پروسیجر چندین کوئری وارد میکنیم و موقع صدا زدن خودش متوجه میشه ما کدام کوئری لازم دارم و میره همون کوئری رو برای مون میاره

  5. #5

    نقل قول: ساخت استورپراسیجر در سی شارپ

    باسلام
    میشه بفرمایید با لینک چطور باید کدشو بزنم؟؟؟؟

  6. #6

    نقل قول: ساخت استورپراسیجر در سی شارپ

    دوست عزیز این فکر نکنم به این راحتی بتوانید تبدیل به Linq کنید و فکر نکنم امکانش باشه دستور پروسیجر تو linq صدا کنید چون تو ADO معلوم هستش چطور دستور پروسیجر صدا کنید ولی داخل لینکو نه این بخواهید معادل linq بنویسی یک ابزار هستش کد ADO به Linq تبدیل میکنه ولی دنگ فنگش خیلی هستش و مطمئن باش با این شرط های تو در توی ADO بهتره برید سمت ADO اون فایل بنده هم کمکت میکنه تا پروسیجر بنویسی ولی لینکو شرمنده کوئری های ساده تو در تو linq عذیت میکنه وای به حال این نوع کوئری شما

  7. #7

    نقل قول: ساخت استورپراسیجر در سی شارپ

    دوست عزیز ساختن ستورپروسیجر مثل اجرای دستورات ADO هست، کل این دستور رو به پراپرتی CommandText نسبت میدین و اجرا میگیرین، این کار رو توی ایونت لود فرم لاگین یا اولین فرم نرم افزارتون قرار بدین و برای حذف هم فقط کافیه دستور حذف ستورپروسیجر رو توی ایونت FormClosing قرار بدین، دستور حذف یک ستورپروسیجر به این شکله:
    DROP PROCEDURE ProcedureName 
    GO


  8. #8

    نقل قول: ساخت استورپراسیجر در سی شارپ

    من با همین به sql وصل شدم بدون هیچ مشکلی:
    Program.connect; کانکشن استریگ رو اونجابه sql تعریف کردم

  9. #9

    نقل قول: ساخت استورپراسیجر در سی شارپ

    باید الگوریتم رو براخودتون دربیارید.
    تمامی دستورات sql با linq قابل پیاده سازی هستن.

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

  1. تبدیل استور پراسیجر ها از sql به اوراکل
    نوشته شده توسط komeil64 در بخش T-SQL
    پاسخ: 0
    آخرین پست: یک شنبه 07 آبان 1396, 09:19 صبح
  2. پاسخ: 0
    آخرین پست: پنج شنبه 07 آبان 1394, 07:17 صبح
  3. پاسخ: 10
    آخرین پست: پنج شنبه 11 مهر 1392, 12:25 عصر
  4. پاسخ: 1
    آخرین پست: شنبه 05 شهریور 1390, 13:21 عصر

برچسب های این تاپیک

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

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