آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی
آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی

تابع Lead و Lag در Sql Server

 تابع Lead و Lag  در Sql Server چست و چه کاربردی دارد؟


در زمان طراحی کوئری، خیلی از مواقع نیاز است که به سطرهای قبل یا بعد از سطر جاری دسترسی داشته باشیم. یکی از روش های موجود استفاده از تابع Row number بود که از نسخه 2005 اس کیو ال به بعد پشتیبانی می شود. اما از نسخه 2012 دو تابع مفید Lead وLag قابل استفاده هستند. 


تابع LAG : دستیابی به مقدار یک فیلد در سطرها قبل از سطر جاری


LAG (value_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause)



تابع LEAD : دستیابی به مقدار یک فیلد در سطرها بعد از سطر جار


LEAD (value_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause)


پارامترهای موجود در هر تابع به صورت زیر هستند:

value_expression : نام ستون مورد نظر

Offset: تعداد سطر بعد/قبل از سطر جاری

Default: مقدار پیش فرض در صورت خارج از رنج بودن Offset

query_partition_clause: گروهبندی روی ستون خاص


روش استفاده از تابع Lead را با یک مثال شرح خواهیم داد در این مثال قصد داریم کارمندان یک روز به تاریخ شروع پروژه بعدی را  اضافه کنیم.


SELECT *,
DATEADD(DAY, -1, LEAD(Emp_Startdate, 1,'01-Jan-2100') --کسر کردن یک روز از تاریخ رکورد بعدی
        OVER (PARTITION BY   Emp_Name ORDER BY   Emp_Startdate ASC))   AS EndDate
FROM   Employee



توضیحات کامل این مقاله را در سایت پروژه چی بخوانید


نحوه استفاده از Pivot در Sql Server

نحوه استفاده از Pivot در Sql Server


Pivot table ها در واقع همانند سایر  Table های دیگر می باشند فقط با این تفاوت که در نمایش ردیف و ستون های آنها مقداری تفاوت وجود دارد .

دستور pivot جزو دستوراتی از Sql server می باشد که ممکن است در بیشتر پروژه هایمان برای نمایش گزارشات مختلف   به استفاده از آن نیاز داشته باشیم . کاربرد دستور pivot تقریبا تبدیل نمایش خروجی یک کوئری از حالت ردیفی به ستونی می باشد . به صورت خیلی خلاصه بخواهیم نحوه کارکرد این دستور را بیان کنیم ، کار آن یک چرخش 90 درجه جداول  می باشد ، یعنی جای ستون و ردیف ها را با هم جابه جا کنیم .

در این مثال قصد داریم  مجموع ورودی و خروجی های یک جدول خاص از انبار را استخراج کنیم.


SELECT *
FROM (
SELECT [type]
FROM stock
WHERE [type] IN ('s', 'i')
) t
PIVOT (
COUNT(t.[type]) FOR [type] IN (s ,i)   
) p


توضیحات کامل این مقاله را در سایت پروژه چی بخوانید


نحوه آپلود فایل با حجم زیاد با استفاده از ASP.NET

نحوه آپلود فایل با حجم زیاد با استفاده از ASP.NET


برای اینکه بتوانیم فایلی با حجم زیاد در محیط برنامه نویسی سی شارپ با ای اس پی دات نت آپلود کنیم فقط کافی است که کدهای زیر را در وب کانفیگ Webconfig تغییر دهیم.


ابتدا مقدار زیر را قرار دهید.


 <system.web>


  <httpRuntime shutdownTimeout="120" executionTimeout="3600" useFullyQualifiedRedirectUrl="true" maxRequestLength="1048576" requestLengthDiskThreshold="12288" requestPathInvalidCharacters="&lt;,&gt;,*,%,:,\,?" requestValidationMode="2.0" />


 </system.web>


بعد از آن مقدار زیر را هم تغییر دهید

<system.webServer>

<security>

<requestFiltering>

<requestLimits maxAllowedContentLength="100000000" />

</requestFiltering>

</security>

</system.webServer>

نحوه فراخوانی یک وب سرویس asmx

نحوه فراخوانی یک وب سرویس asmx


در این مثال قصد داریم که یک وب سرویس که با استفاده از روش Soap  کار شده است را نمایش دهیم و این وب سرویس را در بخش رفرنس ها اضافه کرده ایم. و نهایتا بتوانیم از آنها استفاده کنیم.


 WSHttpBinding binding = new WSHttpBinding ();

                    binding.MaxReceivedMessageSize = 2147483647;

                    binding.MaxBufferPoolSize = 2147483647;

                    binding.ReaderQuotas.MaxArrayLength = binding.ReaderQuotas.MaxBytesPerRead = binding.ReaderQuotas.MaxStringContentLength = 2147483647;

                    binding.CloseTimeout = binding.OpenTimeout = binding.ReceiveTimeout = binding.SendTimeout = new TimeSpan (3,0,0);

                    //binding.MessageEncoding = WSMessageEncoding.Mtom;

                    

                    EndpointAddress ea = new EndpointAddress ("http://xxxxxxxxxxxxxxxxx/TestService.svc");

                    ShahrbanServiceTest.ShahrbanServiceClient service = new ShahrbanServiceTest.ShahrbanServiceClient (binding,ea);

                    service.ClientCredentials.Windows.ClientCredential.Domain = "babakhani.ir";

                    service.ClientCredentials.Windows.ClientCredential.UserName = "babakhani";

                    service.ClientCredentials.Windows.ClientCredential.Password = "sirous";


                    ShahrbanServiceTest.DistrictCartableFilterType CartableFilter = ShahrbanServiceTest.DistrictCartableFilterType.Normal;

                    //var spr = service.GetAllDistrictWarning ();

                    DateTime Date1 = Convert.ToDateTime ("2015-11-18");

                    DateTime Date2 = Convert.ToDateTime ("2015-11-16");

                    var spr = service.GetDistrictMainFilesByDate (Date2,Date1);

نحوه دانلود فایل متنی در برنامه نویسی #C

نحوه دانلود فایل متنی در برنامه نویسی #C


در این مثال قصد داریم که یک متنی را در داخل برنامه توسط برنامه نویسی سی شارپ تولید کنیم و کاربر نهایی بتواند آن را دانلود کند.


  string text="1,12154 \n 45545,واریز بهمن, \n sdfa,48575,kjdk ";

                StringWriter ObjStringWrite=new StringWriter ();

                ObjStringWrite.Write (text);

               // Response.ContentType="application/ocetet-stream"; //For Excel

                Response.ContentType = "text/plain"; //For Text File

                //Response.AddHeader ("content-disposition","attachment;filename="+"test.txt");

                Response.AddHeader ("content-disposition","attachment;filename=test.txt");

                Response.Clear ();

                using (StreamWriter ObjStramWriter=new StreamWriter (Response.OutputStream,Encoding.UTF8)) 

                {

                    ObjStramWriter.Write (ObjStringWrite.ToString());

                    Response.End ();

                }