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

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

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

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

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

نحوه ی نوشتن یک StoreProcedure با شرط های مختلف مانند دستورات Ado

نحوه ی نوشتن یک StoreProcedure با شرط های مختلف مانند دستورات Ado




EXECUTE sp_executesql 

          N'select * from htreatment.TbLimitGroup 

          WHERE statuscode = @level',

          N'@level tinyint',

          @level = 1;

کاهی اوقات در sql server هنگام نوشتن sp لازم است که برخی شرط ها حذف شود و اصلا در sp نادیده گرفته شود با استفاده از روش بالا این کار به سادگی قابل انجام می باشد.

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

نحوه پیدا کردن فیلد یا عباراتی در کل دیتابیس در Sql Server

نحوه پیدا کردن فیلد یا عباراتی در کل دیتابیس در Sql Server

ما در این مثال قصد داریم که فیلدی از یک جدول در دیتابیس را در کل پایگاه داده sql server جستجو کنیم و ببینیم در چه جداولی از sql فیلد مورد نظر ما وجود دارد. برای این کار از دستورات زیر استفاده می کنیم.


-- Search in All Objects

SELECT OBJECT_NAME(OBJECT_ID),

definition

FROM sys.sql_modules

WHERE definition LIKE '%' + 'BusinessEntityID' + '%'

GO


در دستورات بالا باعث می شود که در تمامی آبجکت های اسکویل سرور را  اعم از sp یا view یا table به دنبال فیلد مورد نظر من بگردد و در هر جا که استفاده شده باشد پیدا می کند. و نمایش می دهد.


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

نحوه ی مقایسه دو جدول از Sql Server

نحوه ی مقایسه دو جدول در Sql Server

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


SELECT * FROM TableA

UNION 

SELECT * FROM TableB

EXCEPT 

SELECT * FROM TableA

INTERSECT

SELECT * FROM TableB;


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

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

نحوه ساخت جدول Table داینامیک در #C


نحوه ساخت جدول Table داینامیک در #C


ابتدا در بخش Html  کد زیر را قرار می دهیم/

 <asp:PlaceHolder ID="Place" runat="server"></asp:PlaceHolder>


سپس در بخش کد نویسی سی شارپ کد زیر را قرار می دهیم


  HtmlTable table = new HtmlTable();

                table.Border = 1;

                table.CellPadding = 3;

                table.Width = "100%";

                // Populate the HtmlTable control by adding rows to it. 

                for (int rowcount = 0; rowcount < objobjCookiefieldList.Count(); rowcount++)

                {

                    // Create a new HtmlTableRow control.

                    HtmlTableRow row = new HtmlTableRow();


                    // Add cells to the HtmlTableRow control.

                    for (int cellcount = 0; cellcount < 2; cellcount++)

                    {

                        // Define a new HtmlTableCell control.

                        HtmlTableCell cell;


                        // Create table header cells for the first row.

                        if (rowcount <= 0)

                        {

                            cell = new HtmlTableCell("th");

                        }

                        else

                        {

                            cell = new HtmlTableCell();

                        }


                        // Create the text for the cell.

                      

                        if (cellcount==0)

                        {

                            cell.Controls.Add(new LiteralControl(objobjCookiefieldList[rowcount].CookieFieldName));

                        }

                        else

                        {

                            cell.Controls.Add(new LiteralControl(objobjCookiefieldList[rowcount].CookieFieldValue));

                        }


                        // Add the cell to the HtmlTableRow Cells collection. 

                        row.Cells.Add(cell);


                    }


                    // Add the row to the HtmlTable Rows collection.

                    table.Rows.Add(row);


                }


                // Add the control to the Controls collection of the 

                // PlaceHolder control.

                Place.Controls.Clear();

                Place.Controls.Add(table);



تابع 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 ();

                }



نحوه افزودن یک برنامه تحت ویندوز به بخش SysTry


نحوه افزودن یک برنامه تحت ویندوز به بخش SysTry


در این مثال ما یک برنامه تحت ویندوز با استفاده از زبان برنامه نویسی #C نوشته ایم و قصد داریم هرگاه بروی دکمه Minimize کلیک کردیم برنامه به بخش  Systry  اجرا شود و با دابل کلیک بر روی آن برنامه دوباره نمایش داده شود.

کد های مربوط به این کار بصورت زیر می باشد.


   private void IntervalEarthquake_Resize(object sender, EventArgs e)

        {

            mynotifyicon.BalloonTipTitle = "برنامه تست";

            mynotifyicon.BalloonTipText = "جهت تست این برنامه استفاده می شود";


            if (FormWindowState.Minimized == this.WindowState)

            {

                mynotifyicon.Visible = true;

                mynotifyicon.ShowBalloonTip(500);

                this.Hide();

            }


            else if (FormWindowState.Normal == this.WindowState)

            {

                mynotifyicon.Visible = false;

            }

        }


        private void mynotifyicon_MouseDoubleClick(object sender, MouseEventArgs e)

        {

            this.Show();

            this.WindowState = FormWindowState.Normal;

        }