View Full Version : سوال: بدست آوردن مانده حساب
yaradm
یک شنبه 15 شهریور 1388, 10:02 صبح
من دارم برنامه حسابداری مینویسم و توی بدست آوردن مانده حساب از طریق sql دچار مشکل شدهم .
در ضمن برنامه رو تو C# مینویسم.
z_bluestar
یک شنبه 15 شهریور 1388, 12:05 عصر
خوب Sql تون ايجا بذاريد كه بتونيم كمك كنيم بهتون
shahbazyaghoobi
یک شنبه 15 شهریور 1388, 12:20 عصر
معمولا این کارا با استفاده از storprocedure و courser که سرعت بالایی هم دارد انجام میدهند.
yaradm
چهارشنبه 18 شهریور 1388, 11:08 صبح
معمولا این کارا با استفاده از storprocedure و courser که سرعت بالایی هم دارد انجام میدهند.
خواهش میکنم میشه بیشتر توضیح بدید
اگر میشه کدش رو برام بذارید
yaradm
چهارشنبه 18 شهریور 1388, 11:22 صبح
خوب Sql تون ايجا بذاريد كه بتونيم كمك كنيم بهتون
فکر کنم این تصویر منظورم خوب برسونه
ممنون
z_bluestar
چهارشنبه 18 شهریور 1388, 12:09 عصر
منظورم اين بود كه Code SQl رو بذاريد اين جا تا ما ببينيم ايرادش چيه ؟؟؟
بعد اصلا از روي تصوير نمي شه فهميد كه چه كار مي خواين بكنيد ؟؟؟؟؟
محمد سلیم آبادی
چهارشنبه 18 شهریور 1388, 12:19 عصر
جناب yaradm تاپیک ضمیمه شده ی همین تالار را مطالعه کنید (با نام "چگونه داده ها و کد...")
سپس مشکلتان را به طور کامل و مفصل مطرح کنید و سپس کد جدول، داده ها و Query که تا حالا سعی می کردید با استفاده از آن مساله را حل کنید را ارسال کنید.
shahbazyaghoobi
جمعه 20 شهریور 1388, 16:54 عصر
از این که دیر جواب دادم معذرت می خوام اینم یه نمونه کد که خودم استفاده کردم
DECLARE
c1 cursor FORWARD_ONLY FOR
Select bedehkar,bestankar from @HesabMoshtary
OPEN
c1
FETCH
c1 INTO @Bedehkar,@Bestankar
WHILE
(@@fetch_status = 0)
BEGIN
set @Sum=@Sum+@Bestankar-@Bedehkar
if(@Sum<0)
Begin
Set @State=N'بدهکار'
Set @Sum2=-@Sum
ENd
else if(@Sum>0)
Begin
Set @State=N'بستانکار'
Set @Sum2=@Sum
End
else
begin
set @State=N'بی حساب'
set @Sum2=@Sum
end
update @HesabMoshtary
set MandehHesab=@Sum2,
State=@State
where current of c1
FETCH c1 INTO @Bedehkar,@Bestankar
END
CLOSE c1
DEALLOCATE
c1
yaradm
شنبه 21 شهریور 1388, 17:02 عصر
از این که دیر جواب دادم معذرت می خوام اینم یه نمونه کد که خودم استفاده کردم
DECLARE
c1 cursor FORWARD_ONLY FOR
Select bedehkar,bestankar from @HesabMoshtary
OPEN
c1
FETCH
c1 INTO @Bedehkar,@Bestankar
WHILE
(@@fetch_status = 0)
BEGIN
set @Sum=@Sum+@Bestankar-@Bedehkar
if(@Sum<0)
Begin
Set @State=N'بدهکار'
Set @Sum2=-@Sum
ENd
else if(@Sum>0)
Begin
Set @State=N'بستانکار'
Set @Sum2=@Sum
End
else
begin
set @State=N'بی حساب'
set @Sum2=@Sum
end
update @HesabMoshtary
set MandehHesab=@Sum2,
State=@State
where current of c1
FETCH c1 INTO @Bedehkar,@Bestankar
END
CLOSE
c1
DEALLOCATE
c1
اولا ممنون از جوابی که دادید.
ثانیا من میتونم این کد رو توی سی شارپ استفاده کنم ؟؟
ثالثا اگه یکمی درباره این کد توضیح بدید خیلی ممنون میشم . چون توی sql زیاد وارد نیستم .
اگر بخوام توی sql بنویسم کجاش وارد کنم که کد ذخیره بشه؟
خیلی خیلی ممنونم.
yaradm
پنج شنبه 26 شهریور 1388, 11:11 صبح
اگه جواب بدید لطف میکنید:گریه::گریه:
حمیدرضاصادقیان
پنج شنبه 26 شهریور 1388, 11:45 صبح
سلام دوست عزیز.در سایت دنبال عبارت بدهکار یا بستانکار بگردید کاملا توضیح داده شده است.
موفق باشید
shahbazyaghoobi
جمعه 27 شهریور 1388, 12:11 عصر
دوست عزیز باید داخل sql یک storeprocedure تعریف کنی و این کد داخلش استفاده کنی از طریق C# می تونی storeprocedure اجرا کنی البته باید با توجه به برنامت تغییرات لازم را بدی به نظر من اول شما یکم در مورد storeprocedure ها و روش استفاده از آنها مطالعه کنی خیلی بهت کمک کنه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.