SlideShare a Scribd company logo
1 of 63
Download to read offline
‫ﻛﺎﺭﺑﺮﺩﻱ‬ ‫ﺁﻣﻮﺯﺵ‬ ‫ﻓﺮﺍﺩﺭﺱ‬C#.Net
‫ﻣﺪﺭﺱ‬:‫ﺷﺠﺎﻋﻲ‬ ‫ﺭﺷﻴﺪ‬ ‫ﻣﻬﻨﺪﺱ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Net.‫ﭼﻴﺴﺖ؟‬
Net.‫ﻣﺤﻴﻂ‬‫ﻃﺮﺍﺣﻲ‬‫ﺷﺪﻩ‬‫ﺗﻮﺳﻂ‬‫ﺷﺮﻛﺖ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﺟﻬﺖ‬‫ﺳﺎﺧﺖ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺗﻮﺯﻳﻊ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬
‫ﺷﺎﻣﻞ‬‫ﺍﺑﺰﺍﺭﻫﺎﻱ‬‫ﮔﻮﻧﺎﮔﻮﻧﻲ‬‫ﻧﻈﻴﺮ‬
•"‫ﻛﺘﺎﺑﺨﺎﻧﻪ‬‫ﻫﺎﻱ‬‫ﻛﻼﺱ‬‫ﭘﺎﻳﻪ‬")BCL(،
•"‫ﺯﺑﺎﻥ‬‫ﻋﻤﻮﻣﻲ‬‫ﺯﻣﺎﻥ‬‫ﺍﺟﺮﺍ‬")CLR(،
•‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﺍﻳﺠﺎﺩ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﺗﺤﺖ‬‫ﻭﺏ‬ASP.NET،
•‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﻫﺎﻱ‬‫ﻛﻼﺱ‬ADO.NET،
•‫ﻫﺎﻱ‬‫ﺯﺑﺎﻥ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻭ‬...‫ﺍﺳﺖ‬.
‫ﺍﻳﻦ‬‫ﺍﺑﺰﺍﺭﻫﺎ‬‫ﺩﺭ‬‫ﻛﻨﺎﺭ‬‫ﻳﻜﺪﻳﮕﺮ‬‫ﺍﻣﻜﺎﻥ‬‫ﺳﺎﺧﺖ‬‫ﺍﻧﻮﺍﻉ‬‫ﻣﺨﺘﻠﻔﻲ‬‫ﺍﺯ‬‫ﺍﻓﺰﺍﺭﻫﺎ‬‫ﻧﺮﻡ‬‫ﺍﺯ‬‫ﻗﺒﻴﻞ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﺗﺤﺖ‬‫ﻭﻳﻨﺪﻭﺯ‬
)Windows Applications(،‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﺗﺤﺖ‬‫ﻭﺏ‬)Web Applications(‫ﻭ‬‫ﻫﺎﻱ‬‫ﺳﺮﻭﻳﺲ‬
‫ﻭﺏ‬)Web Services(‫ﺭﺍ‬‫ﻓﺮﺍﻫﻢ‬‫ﻣﻲ‬‫ﺁﻭﺭﻧﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Net Framework.‫ﭼﻴﺴﺖ؟‬
‫ﻳﺎ‬‫ﻫﻤﺎﻥ‬‫ﭼﺎﺭﭼﻮﺏ‬‫ﻛﺎﺭﻱ‬.NET،‫ﺍﻱ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﺍﺯ‬‫ﻫﺎﻱ‬‫ﻛﺘﺎﺑﺨﺎﻧﻪ‬‫ﺑﺴﻴﺎﺭ‬‫ﻏﻨﻲ‬‫ﺟﻬﺖ‬‫ﻛﻤﻚ‬‫ﺑﻪ‬‫ﺳﻬﻮﻟﺖ‬‫ﺗﻮﺳﻌﻪ‬‫ﺍﻓﺰﺍﺭ‬‫ﻧﺮﻡ‬‫ﻫﺴﺘﻨﺪ‬‫ﻛﻪ‬‫ﺩﺭ‬
‫ﻗﺎﻟﺐ‬‫ﺑﺨﺶ‬‫ﻫﺎﻱ‬‫ﺍﻱ‬‫ﻋﻤﺪﻩ‬‫ﻫﻤﭽﻮﻥ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬ASP.NET،ADO.NET‫ﻭ‬‫ﺑﺴﻴﺎﺭﻱ‬‫ﺍﺯ‬‫ﻫﺎﻱ‬‫ﻓﻨﺎﻭﺭﻱ‬‫ﺩﻳﮕﺮ‬‫ﺍﺭﺍﺋﻪ‬‫ﺷﻮﻧﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﺗﻌﺪﺍﺩ‬
‫ﺁﻧﻬﺎ‬‫ﺩﺭ‬‫ﻫﺎﻱ‬‫ﻧﺴﺨﻪ‬‫ﺍﺧﻴﺮ‬‫ﻫﻤﮕﺎﻡ‬‫ﺑﺎ‬‫ﻣﺤﺪﻭﺩ‬‫ﺗﺮ‬‫ﺷﺪﻥ‬‫ﺍﻫﺪﺍﻑ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﺑﻴﺸﺘﺮ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬.
C#‫ﻳﻜﻲ‬‫ﺍﺯ‬‫ﻫﺎﻱ‬‫ﺯﺑﺎﻥ‬‫ﺳﻄﺢ‬‫ﺑﺎﻻ‬‫ﻭ‬‫ﮔﺮﺍﺳﺖ‬‫ﺷﻲ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﺍﺭﺍﺋﻪ‬‫ﺭﻫﻴﺎﻓﺖ‬Component-Based‫ﺭﺍﻫﻲ‬‫ﺑﺮﺍﻱ‬‫ﻃﺮﺍﺣﻲ‬‫ﻭ‬‫ﺗﻮﺳﻌﻪ‬
‫ﺍﻓﺰﺍﺭ‬‫ﻧﺮﻡ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.
‫ﺯﺑﺎﻥ‬‫ﺳﺎﺯﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬C#‫ﺑﻪ‬‫ﻫﻤﺮﺍﻩ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﺟﺪﻳﺪ‬‫ﺷﺮﻛﺖ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻳﻌﻨﻲ‬Net.‫ﺍﺭﺍﺋﻪ‬‫ﮔﺮﺩﻳﺪ‬‫ﻭ‬‫ﺍﺯ‬‫ﺍﻳﻦ‬‫ﺭﻭ‬‫ﺍﺯ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬Net.
‫ﺍﻳﻦ‬‫ﺷﺮﻛﺖ‬‫ﺑﻬﺮﻩ‬‫ﺑﺮﺩ‬‫ﻣﻲ‬.
‫ﻫﺪﻑ‬‫ﺁﻥ‬‫ﺗﺮﻛﻴﺐ‬‫ﻗﺪﺭﺕ‬‫ﻣﺤﺎﺳﺒﺎﺗﻲ‬‫ﺯﺑﺎﻥ‬C++‫ﻭ‬‫ﺳﺎﺩﮔﻲ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺑﺎ‬‫ﺯﺑﺎﻥ‬Visual Basic‫ﺍﺳﺖ‬.
C#‫ﺑﺮﭘﺎﻳﻪ‬‫ﺯﺑﺎﻥ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬C++‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬‫ﻭ‬‫ﺍﺯ‬‫ﺑﺮﺧﻲ‬‫ﺍﺯ‬‫ﻭﻳﮋﮔﻲ‬‫ﻫﺎﻱ‬‫ﺯﺑﺎﻥ‬Java‫ﻧﻴﺰ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
‫ﺁﺷﻨﺎﻳﻲ‬‫ﺑﺎ‬‫ﺯﺑﺎﻥ‬C#‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﺁﺷﻨﺎﻳﻲ‬‫ﺑﺎ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭ‬Visual Studio
Microsoft Visual Studio‫ﻣﺤﺼﻮﻝ‬‫ﺷﺮﻛﺖ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻭ‬‫ﻣﺤﻴﻄﻲ‬
‫ﻳﻜﭙﺎﺭﭼﻪ‬‫ﺟﻬﺖ‬‫ﺗﻮﻟﻴﺪ‬‫ﻭ‬‫ﺗﻮﺳﻌﻪ‬‫ﺍﻓﺰﺍﺭ‬‫ﻧﺮﻡ‬)IDE(‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻣﻨﻈﻮﺭ‬‫ﺍﻳﺠﺎﺩ‬
‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺗﺤﺖ‬‫ﻭﻳﻨﺪﻭﺯ‬‫ﻭ‬‫ﺗﺤﺖ‬،‫ﻭﺏ‬‫ﻃﺮﺍﺣﻲ‬‫ﻫﺎ‬‫ﺳﺎﻳﺖ‬‫ﻭ‬‫ﺳﺎﺧﺖ‬‫ﻫﺎﻱ‬‫ﺳﺮﻭﻳﺲ‬
‫ﻭﺏ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬.
‫ﺍﻳﻦ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭ‬‫ﺍﻣﻜﺎﻥ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﻭﻳﮋﮔﻲ‬‫ﻫﺎﻱ‬‫ﻣﺨﺘﻠﻒ‬.NET‫ﻛﻪ‬ً‫ﻼ‬‫ﻗﺒ‬‫ﮔﻔﺘﻪ‬‫ﺷﺪ‬
‫ﺭﺍ‬‫ﺑﻪ‬‫ﻛﺎﺭﺑﺮ‬،‫ﻣﻴﺪﻫﺪ‬‫ﺍﺯ‬‫ﻗﺒﻴﻞ‬:
•‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺯﺑﺎﻥ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﻣﺨﺘﻠﻒ‬‫ﻣﺎﻧﻨﺪ‬C#،J#،C++‫ﻭ‬
VB.NET
•‫ﺍﻳﺠﺎﺩ‬Windows/Web/Console Applications‫ﻫﺎ‬
•‫ﻫﺎﻱ‬ ‫ﻭﻳﮋﮔﻲ‬ ‫ﻭ‬ ‫ﻫﺎ‬ ‫ﺳﺮﻭﻳﺲ‬ ‫ﺍﺯ‬ ‫ﺍﺳﺘﻔﺎﺩﻩ‬.NET Frameworkً‫ﻼ‬‫ﻗﺒ‬ ‫ﻛﻪ‬
‫ﺷﺪ‬ ‫ﮔﻔﺘﻪ‬.
•‫ﻭ‬...
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﺭﻭﻧﺪ‬‫ﭘﻴﺸﺮﻓﺖ‬Visual Studio‫ﻭ‬.NET Framework
‫ﺩﺭ‬‫ﺣﻘﻴﻘﺖ‬‫ﻫﺪﻑ‬‫ﺍ‬‫ﺻﻠﻲ‬‫ﻭ‬‫ﺩﺭﺍﺯ‬‫ﻣﺪ‬‫ﺕ‬‫ﻣﺎﻳﻜﺮ‬‫ﻭ‬‫ﺳﺎﻓﺖ‬‫ﻣﺘﺤﺪ‬‫ﻛﺮ‬‫ﺩﻥ‬‫ﺍ‬‫ﺑﺰ‬‫ﺍﺭﻫﺎ‬‫ﻱ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺗﺤﺖ‬‫ﻳﻚ‬‫ﻣﺤﻴﻂ‬‫ﻭﺍ‬‫ﺣﺪ‬‫ﺑﺎ‬‫ﺩﺭ‬‫ﺩ‬‫ﺳﺘﺮ‬‫ﺱ‬‫ﺑﻮ‬‫ﺩﻥ‬‫ﺍ‬‫ﺑﺰ‬‫ﺍﺭ‬‫ﻭ‬‫ﺍ‬‫ﻣﻜﺎﻧﺎ‬‫ﺕ‬ِ‫ﻲ‬‫ﻧﻮﻳﺴ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺁﺳﺎﻧﺘﺮ‬‫ﻭ‬
‫ﻛﺎﺭﺍﺗﺮ‬‫ﺑﺮ‬‫ﺍ‬‫ﻱ‬‫ﻧﻮﻳﺲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺑﻮ‬‫ﺩ‬‫ﻩ‬‫ﺍ‬‫ﺳﺖ‬.
‫ﺍﺭﺍﺋﻪ‬‫ﻧﺴﺨﻪ‬‫ﺍﻭﻝ‬‫ﻭ‬‫ﻳﮋ‬‫ﻭﺍﻝ‬‫ﺍ‬‫ﺳﺘﻮ‬‫ﺩ‬‫ﻳﻮ‬‫ﺑﻪ‬‫ﻧﺎ‬‫ﻡ‬Visual Studio 97‫ﺩﺭ‬‫ﺳﺎﻝ‬1997
‫ﺍﺭﺍﺋﻪ‬Visual Studio 98‫ﺩﺭ‬‫ﺳﺎﻝ‬1998‫ﺑﺎ‬‫ﻧﺎﻡ‬Visual Studio 6
)‫ﺷﺎﻣﻞ‬Visual Basic 6،Visual C/C++ 6‫ﻭ‬..(
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2001‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 1.0
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2003‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 1.1
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2005‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 2.0
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2008‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 3.0
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2010‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 4.0
‫ﺍﺭﺍﺋﻪ‬Visual Studio.NET 2012‫ﻫﻤﺮﺍﻩ‬‫ﺑﺎ‬.NET Framework 4.5
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Visual Studio 2015
‫ﺷﺮﻛﺖ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﺩﺭ‬‫ﺁﺧﺮﻳﻦ‬‫ﻣﺮﺍﺳﻢ‬‫ﺧﻮﺩ‬‫ﺩﺭ‬‫ﻧﻴﻮﻳﻮﺭﻙ‬‫ﺍﺯ‬‫ﺍﻣﻜﺎﻧﺎﺕ‬‫ﻋﺎﻟﻲ‬Visual Studio 2015‫ﺧﺒﺮ‬
‫ﺩﺍﺩ‬‫ﻭ‬‫ﺍﻳﻦ‬‫ﺧﺒﺮ‬‫ﻃﻴﻒ‬‫ﻭﺳﻴﻌﻲ‬‫ﺍﺯ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﺎﻥ‬‫ﺭﺍ‬‫ﺧﻮﺷﺤﺎﻝ‬،‫ﻧﻤﻮﺩ‬‫ﺣﺘﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﺎﻧﻲ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﺯﺑﺎﻥ‬‫ﻫﺎﻱ‬‫ﻏﻴﺮ‬
‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺘﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﻲ‬‫ﻧﻮﺷﺘﻨﺪ‬!‫ﺍﻭﻟﻴﻦ‬‫ﺧﺒﺮ‬‫ﺧﻮﺷﺤﺎﻝ‬‫ﻛﻨﻨﺪﻩ‬‫ﺍﻳﻦ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻭﻳﮋﻭﺍﻝ‬‫ﺍﺳﺘﻮﺩﻳﻮ‬
2015‫ﺑﺼﻮﺭﺕ‬‫ﺭﺍﻳﮕﺎﻥ‬‫ﺩﺭ‬‫ﺍﺧﺘﻴﺎﺭ‬‫ﻛﺎﺭﺑﺮﺍﻥ‬‫ﻗﺮﺍﺭ‬‫ﻣﻲ‬‫ﮔﻴﺮﺩ‬.
‫ﻳﻜﻲ‬‫ﺍﺯ‬‫ﻣﻬﻤﺘﺮﻳﻦ‬‫ﻭﻳﮋﮔﻲ‬‫ﻫﺎﻱ‬‫ﻭﻳﮋﻭﺍﻝ‬‫ﺍﺳﺘﻮﺩﻳﻮ‬2015‫ﺍﻳﻦ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺗﻮﺳﻌﻪ‬‫ﺩﻫﻨﺪﮔﺎﻥ‬‫ﻣﻲ‬‫ﺗﻮﺍﻧﻨﺪ‬‫ﺑﺮﺍﻱ‬‫ﺳﺎﺧﺖ‬
‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬Linux،IOS‫ﻭ‬‫ﺣﺘﻲ‬Android‫ﺩﺭ‬‫ﻣﺤﻴﻂ‬‫ﻭﻳﻨﺪﻭﺯ‬)‫ﺩﺭ‬‫ﻭﻳﮋﻭﺍﻝ‬‫ﺍﺳﺘﻮﺩﻳﻮ‬2015(‫ﺑﻪ‬‫ﺭﺍﺣﺘﻲ‬‫ﻭ‬
‫ﺑﺪﻭﻥ‬‫ﻣﺸﻜﻞ‬‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﭙﺮﺩﺍﺯﻧﺪ‬.
‫ﺑﻪ‬‫ﻧﻈﺮ‬‫ﻣﻴﺮﺳﺪ‬‫ﺩﺭ‬‫ﺁﻳﻨﺪﻩ‬‫ﺍﻱ‬‫ﻧﭽﻨﺪﺍﻥ‬‫ﺩﻭﺭ‬‫ﺷﺎﻫﺪ‬‫ﺁﻥ‬‫ﺧﻮﺍﻫﻴﻢ‬‫ﺑﻮﺩ‬‫ﻛﻪ‬‫ﺑﺴﻴﺎﺭﻱ‬‫ﺍﺯ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﺎﻥ‬Android،
IOS،Mac،Linux‫ﻭ‬…‫ﻧﻴﺰ‬‫ﺩﺭ‬‫ﻭﻳﮋﻭﺍﻝ‬‫ﺍﺳﺘﻮﺩﻳﻮ‬،‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻭ‬‫ﺑﺎ‬‫ﺯﺑﺎﻥ‬‫ﻫﺎﻱ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺘﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﻫﺎﻳﺸﺎﻥ‬‫ﺭﺍ‬‫ﺑﻨﻮﻳﺴﻨﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Roslyn, .NET compiler platform is integrated in Visual
Studio 2015
New feature includes better code fixing as developers write code in editor. Visual
Studio 2015 has support for breakpoint configuration and debugging lambda
expression. Smart Unit Tests feature is also added to Visual Studio 2015.
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Developers can install Xamarin from Visual Studio and vice
versa Visual Studio support will be available from Xamarin.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Microsoft Visual Studio 2015 now has options for Android development:
C++, Cordova, and C# with Xamarin. When choosing one of those
Android development options, Visual Studio will also install the brand
new Visual Studio Emulator for Android to use as a target for debugging
your app.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
we will be creating apps for potentially 6 platforms in one go
(and 8 platforms if we include Android and iOS, assuming
Xamarin turns out the way I’m hoping).
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﻣﺤﺼﻮﻝ‬‫ﺟﺪﻳﺪﻱ‬‫ﺩﻳﮕﺮ‬‫ﺍﺯ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﺗﺎﺭﻳﺦ‬21‫ژﺍﻧﻮﻳﻪ‬2015‫ﺭﻭﻧﻤﺎﻳﻲ‬‫ﺷﺪ‬.Surface Hub‫ﺩﺭ‬‫ﻭﺍﻗﻊ‬‫ﻳﻚ‬‫ﺗﺒﻠﺖ‬‫ﺑﺰﺭگ‬
‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺗﻮﺍﻧﺎﻳﻲ‬‫ﻫﺎﻱ‬‫ﺑﺴﻴﺎﺭﻱ‬‫ﺩﺭ‬‫ﺯﻣﻴﻨﻪ‬‫ﺍﻧﺠﺎﻡ‬‫ﻛﺎﺭﻫﺎﻱ‬‫ﮔﺮﻭﻫﻲ‬‫ﺩﺍﺭﺩ‬.‫ﺍﺯ‬‫ﺟﻤﻠﻪ‬‫ﺗﻮﺍﻧﺎﻳﻲ‬‫ﻫﺎﻱ‬Surface Hub‫ﻣﻲ‬‫ﺗﻮﺍﻥ‬‫ﺑﻪ‬:
•‫ﭘﺸﺘﻴﺒﺎﻧﻲ‬‫ﺍﺯ‬‫ﺍﻧﻮﺍﻉ‬‫ﺭﻭﺵ‬‫ﺍﺗﺼﺎﻝ‬‫ﺍﺯ‬‫ﺟﻤﻠﻪ‬
wireless projection, HDMI, NFC, Bluetooth
•‫ﻣﺎﻧﻴﺘﻮﺭ‬‫ﺩﺭ‬‫ﺩﻭ‬‫ﺳﺎﻳﺰ‬55‫ﻭ‬84‫ﺍﻳﻨﭻ‬‫ﻟﻤﺴﻲ‬‫ﺑﺎ‬
‫ﻛﻴﻔﻴﺖ‬‫ﻋﺎﻟﻲ‬4k
•‫ﺩﻭ‬‫ﻗﻠﻢ‬‫ﻧﻮﺭﻱ‬‫ﺑﺴﻴﺎﺭ‬‫ﻋﺎﻟﻲ‬‫ﺑﺎ‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﺷﺎﺭژ‬‫ﻣﺠﺪﺩ‬
•‫ﻭﺟﻮﺩ‬‫ﻣﻴﻜﺮﻭﻓﻮﻥ‬‫ﻭ‬‫ﺍﺳﭙﻴﻜﺮﻫﺎﻱ‬‫ﺑﺴﻴﺎﺭ‬‫ﺑﺎ‬‫ﻛﻴﻔﻴﺖ‬
‫ﺑﺮﻭﻱ‬‫ﺩﺳﺘﮕﺎﻩ‬
•‫ﺩﺍﺭﺍﻱ‬‫ﺁﺧﺮﻳﻦ‬‫ﻧﺴﺨﻪ‬‫ﺁﻓﻴﺲ‬‫ﺑﺎ‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﻟﻤﺴﻲ‬
•‫ﻭﻳﻨﺪﻭﺯ‬10
•‫ﭘﺸﺘﻴﺒﺎﻧﻲ‬‫ﺍﺯ‬‫ﻛﻠﻴﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬Universal
Surface Hub
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﺩﺭ‬‫ﻛﻨﺎﺭ‬‫ﻭﻳﻨﺪﻭﺯ‬10‫ﺧﻮﺩ‬‫ﺍﺯ‬‫ﻋﻴﻨﻚ‬‫ﻫﻮﻟﻮﻟﻨﺰ‬
(HoloLens)‫ﺧﻮﺩ‬‫ﭘﺮﺩﻩ‬‫ﺑﺮﺩﺍﺷﺖ‬.‫ﻫﻮﻟﻮﻧﺰ‬‫ﻫﺪﺳﺘﻲ‬‫ﺍﺳﺖ‬
‫ﻛﻪ‬‫ﺩﻧﻴﺎﻱ‬‫ﻭﺍﻗﻌﻲ‬‫ﺭﺍ‬‫ﺑﺎ‬‫ﺩﻧﻴﺎﻱ‬‫ﻣﺠﺎﺯﻱ‬‫ﺷﻤﺎ‬‫ﻳﻜﻲ‬‫ﺧﻮﺍﻫﺪ‬‫ﻛﺮﺩ‬.
‫ﻳﻌﻨﻲ‬‫ﺷﻤﺎ‬‫ﻣﻲ‬‫ﺗﻮﺍﻧﻴﺪ‬‫ﺍﺷﻜﺎﻝ‬‫ﺧﻮﺩ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺩﻧﻴﺎﻱ‬‫ﻭﺍﻗﻌﻲ‬‫ﺑﺎ‬‫ﺍﻳﻦ‬
‫ﻋﻴﻨﻚ‬‫ﺑﺴﺎﺯﻳﺪ‬‫ﻭ‬‫ﺑﺎ‬‫ﺁﻥ‬‫ﺯﻧﺪﮔﻲ‬‫ﻛﻨﻴﺪ‬.‫ﺑﺮﺍﻱ‬‫ﻣﺜﺎﻝ‬‫ﺷﻤﺎ‬‫ﺑﺎ‬
‫ﻫﺪﺳﺖ‬‫ﻫﻮﻟﻮﻟﻨﺰ‬(HoloLens)‫ﻣﻲ‬‫ﺗﻮﺍﻧﻴﺪ‬‫ﺑﻪ‬‫ﺭﺍﺣﺘﻲ‬‫ﻳﻚ‬
‫ﻭﻳﺪﺋﻮ‬‫ﺭﺍ‬‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺩﻳﻮﺍﺭ‬‫ﺍﺗﺎﻗﺘﺎﻥ‬‫ﺑﺪﻭﻥ‬‫ﻫﻴﭻ‬‫ﺗﻠﻮﺯﻳﻮﻧﻲ‬‫ﺗﻤﺎﺷﺎ‬
‫ﻛﻨﻴﺪ‬‫ﻭ‬‫ﺍﻳﻨﻬﺎ‬‫ﻫﻤﻪ‬‫ﺍﺯ‬‫ﺗﺮﻛﻴﺐ‬‫ﺩﻧﻴﺎﻱ‬‫ﻣﺠﺎﺯﻱ‬‫ﻫﻮﻟﻮﻟﻨﺰ‬
(HoloLens)‫ﺑﺎ‬‫ﺩﻧﻴﺎﻱ‬‫ﻭﺍﻗﻌﻲ‬‫ﺧﻮﺩﻣﺎﻥ‬‫ﺍﺗﻔﺎﻕ‬‫ﻣﻲ‬‫ﺍﻓﺘﺪ‬.
HoloLens
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫برنامه‬ :‫مثال‬‫و‬ ‫كند‬ ‫محاسبه‬ ‫را‬ ‫وي‬ ‫خالص‬ ‫حقوق‬ ‫مقدار‬ ‫و‬ ‫ماليات‬ ‫مقدار‬ ،‫كرده‬ ‫دريافت‬ ‫را‬ ‫كارمند‬ ‫يك‬ ‫حقوق‬ ‫مقدار‬ ‫و‬ ‫نام‬ ‫كه‬ ‫بنويسيد‬ ‫اي‬
:‫است‬ ‫زير‬ ‫شكل‬ ‫به‬ ‫ماليات‬ ‫محاسبه‬ ‫فرمول‬ ‫كنيد‬ ‫فرض‬ .‫دهد‬ ‫نشان‬ ‫فرم‬ ‫روي‬
‫تومان‬ ‫حسب‬ ‫بر‬ ‫حقوق‬‫ماليات‬
Salary<5000000%
500000<=salary<10000005%
1000000<=salary<200000010%
2000000<=salary<300000015%
Salary>=300000020%
‫شكل‬ ‫به‬ ‫برنامه‬ ‫ظاهر‬‫زير‬.‫باشد‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
if (‫شرط‬){
‫دستورات‬ ‫مجموعه‬1
}
if(‫شرط‬){
‫دستورات‬ ‫مجموعه‬1
}
else{
‫دستورات‬ ‫مجموعه‬2
}
if( ‫شرط‬1 ){
‫دستورات‬ ‫مجموعه‬1
}
else if( ‫شرط‬2 ){
‫دستورات‬ ‫مجموعه‬2
}
else if( ‫شرط‬3 ){
‫دستورات‬ ‫مجموعه‬3
}
....
else{
‫دستورات‬ ‫مجموعه‬4
}
switch ( ‫متغي‬‫ر‬‫عبارت‬ ‫يا‬ ) {
case ‫مقدار‬1 :
‫دستورات‬ ‫مجموعه‬1 ;
break;
case ‫مقدار‬2 :
‫دستورات‬ ‫مجموعه‬2 ;
break;
case ‫مقدار‬3 :
‫دستورات‬ ‫مجموعه‬3 ;
break;
default:
‫دستورات‬ ‫مجموعه‬;
break;
}
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﺩﻛﻤﻪ‬ ‫ﻛﻪ‬ ‫ﺩﻫﻴﺪ‬ ‫ﺗﻐﻴﻴﺮ‬ ‫ﻧﺤﻮﻱ‬ ‫ﺑﻪ‬ ‫ﺭﺍ‬ ‫ﺣﺴﺎﺏ‬ ‫ﻣﺎﺷﻴﻦ‬Enter‫ﺑﺠﺎﻱ‬ ‫ﻧﻴﺰ‬
‫ﻛﻠﻴﺪ‬=‫ﻛﺎﺭﻛﻨﻨﺪ‬.
‫ﺭﺧﺪﺍﺩ‬ ‫ﺗﻔﺎﻭﺕ‬ ‫ﺩﺭﻙ‬ ‫ﺗﻤﺮﻳﻦ‬ ‫ﺍﻳﻦ‬ ‫ﺩﺭ‬ ‫ﺍﺻﻠﻲ‬ ‫ﻫﺪﻑ‬Click‫ﺭﺧﺪﺍﺩ‬ ‫ﺑﺎ‬MouseClick‫ﺑﺎﺷﺪ‬ ‫ﻣﻲ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺩﻛﻤﻪ‬
Btnonoff‫ﻧﻴﺰ‬‫ﻛﺎﺭﻛﻨﻨﺪ‬.‫ﺩﺭ‬‫ﺷﺮﻭﻉ‬‫ﺍﺟﺮﺍ‬‫ﺑﺎﻳﺪ‬‫ﻣﺘﻦ‬‫ﺍﻳﻦ‬‫ﺩﻛﻤﻪ‬On‫ﺑﺎﺷﺪ‬‫ﺑﻪ‬
‫ﺍﻳﻦ‬‫ﻣﻌﻨﻲ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﻛﻠﻴﻚ‬‫ﻛﺮﺩﻥ‬‫ﻣﻲ‬‫ﺗﻮﺍﻧﻴﺪ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺭﺍ‬‫ﺭﻭﺷﻦ‬،‫ﻛﻨﻴﺪ‬
‫ﺩﺭ‬‫ﺍﻳﻦ‬‫ﺣﺎﻟﺖ‬‫ﺗﻤﺎﻡ‬‫ﺩﻛﻤﻪ‬‫ﻫﺎﻱ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺧﺎﻣﻮﺵ‬‫ﺑﺎﺷﻨﺪ‬.‫ﺑﺎ‬‫ﻛﻠﻴﻚ‬‫ﺑﺮ‬
‫ﺍﻳﻦ‬‫ﺩﻛﻤﻪ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺭﻭﺷﻦ‬‫ﺷﺪﻩ‬‫ﻭ‬‫ﺗﻤﺎﻡ‬‫ﺩﻛﻤﻪ‬‫ﻫﺎ‬‫ﻓﻌﺎﻝ‬‫ﺑﺎﺷﻨﺪ‬.‫ﺩﺭ‬
‫ﺍﻳﻦ‬‫ﺣﺎﻟﺖ‬‫ﻣﺘﻦ‬‫ﺩﻛﻤﻪ‬‫ﺑﻪ‬Off‫ﺗﺒﺪﻳﻞ‬‫ﮔﺮﺩﺩ‬‫ﺑﻪ‬‫ﺍﻳﻦ‬‫ﻣﻌﻨﻲ‬‫ﻛﻪ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﻛﻠﻴﻚ‬
‫ﻛﺮﺩﻥ‬‫ﻣﻲ‬‫ﺗﻮﺍﻧﻴﺪ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺭﺍ‬‫ﺧﺎﻣﻮﺵ‬‫ﻛﻨﻴﺪ‬.‫ﺑﺎ‬‫ﻫﺮ‬‫ﺑﺎﺭ‬‫ﻛﻠﻴﻚ‬‫ﻛﺮﺩﻥ‬
‫ﺭﻭﻱ‬‫ﺍﻳﻦ‬‫ﺩﻛﻤﻪ‬‫ﻣﺎﺷﻴﻦ‬‫ﺣﺴﺎﺏ‬‫ﺑﻴﻦ‬‫ﺩﻭ‬‫ﺣﺎﻟﺖ‬‫ﻣﺬﻛﻮﺭ‬‫ﺗﻐﻴﻴﺮ‬‫ﻭﺿﻌﻴﺖ‬‫ﺩﻫﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﻛﺎﺭﻣﻨﺪ‬ ‫ﺩﺍﻧﺸﺠﻮ‬ ‫ﺍﺳﺘﺎﺩ‬
‫ﻛﺎﺭﺩﺍﻧﻲ‬ ‫ﻟﻴﺴﺎﻧﺲ‬ ‫ﻓﻮﻕ‬
‫ﺑﺸﺮ‬
‫ﻟﻴﺴﺎﻧﺲ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
2
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺍﻫﺪﺍﻑ‬‫ﺁﻣﻮﺯﺷﻲ‬:
•‫ﻣﻌﺮﻓﻲ‬‫ﻣﻨﻮ‬‫ﻫﺎ‬،‫ﺍﻳﺠﺎﺩ‬‫ﻣﻨﻮ‬‫ﻭ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺁﻥ‬
•‫ﻣﻌﺮﻓﻲ‬‫ﻛﺎﺩﺭﻫﺎﻱ‬‫ﺍﻱ‬‫ﻣﺤﺎﻭﺭﻩ‬‫ﻣﺘﺪﺍﻭﻝ‬‫ﻭ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺁﻥ‬
•‫ﺍﺭﺍﻳﻪ‬‫ﻣﻔﻬﻮﻡ‬‫ﻓﺎﻳﻞ‬‫ﻭ‬‫ﺭﻭﺵ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺁﻥ‬
•‫ﺍﺭﺍﺋﻪ‬‫ﻣﻔﻬﻮﻡ‬Private‫ﻭ‬Public‫ﻭ‬‫ﺍﻳﺠﺎﺩ‬‫ﺍﺟﺰﺍ‬‫ﺧﺼﻮﺻﻲ‬‫ﻭ‬‫ﻋﻤﻮﻣﻲ‬‫ﺑﺮﺍﻱ‬‫ﻛﻼﺱ‬‫ﻫﺎ‬
•‫ﺍﺭﺍﻳﻪ‬‫ﻣﻔﻬﻮﻡ‬‫ﺳﺎﺯﻧﺪﻩ‬‫ﻛﻼﺱ‬‫ﻫﺎ‬
•‫ﺍﻳﺠﺎﺩ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﭼﻨﺪ‬‫ﻓﺮﻣﻲ‬‫ﻭ‬‫ﻧﺤﻮﻩ‬‫ﺩﺳﺘﺮﺳﻲ‬‫ﺑﻪ‬‫ﺍﺷﻴﺎء‬‫ﻭ‬‫ﻛﻨﺘﺮﻝ‬‫ﻫﺎﻱ‬‫ﻳﻚ‬‫ﻓﺮﻡ‬‫ﺍﺯ‬‫ﺳﺎﻳﺮ‬
‫ﻓﺮﻡ‬‫ﻫﺎ‬)‫ﺳﺎﺯﻧﺪﻩ‬‫ﻭ‬‫ﺍﺭﺳﺎﻝ‬‫ﭘﺎﺭﺍﻣﺘﺮ‬‫ﺗﻮﺳﻂ‬‫ﺳﺎﺯﻧﺪﻩ‬(
‫ﻃﺮﺍﺣﻲ‬‫ﻭ‬‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻛﺎﺭﺑﺮﺩﻱ‬Notepad
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬Notepad‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺑﺠﺰ‬‫ﺭﻧﮓ‬‫ﭘﺲ‬
‫ﺯﻣﻴﻨﻪ‬،‫ﻓﻮﻧﺖ‬‫ﺟﺎﺭﻱ‬‫ﻭ‬‫ﺍﺑﻌﺎﺩ‬‫ﻓﺮﻡ‬)‫ﻃﻮﻝ‬‫ﻭ‬‫ﻋﺮﺽ‬(‫ﺭﺍ‬‫ﺩﺍﺋﻤﻲ‬‫ﻛﻨﺪ‬)‫ﺗﻨﻬﺎ‬‫ﺍﺯ‬‫ﻳﻚ‬
‫ﻓﺎﻳﻞ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻛﻨﻴﺪ‬‫ﻭ‬‫ﺑﻪ‬‫ﻛﻤﻚ‬‫ﺁﺭﺍﻳﻪ‬‫ﻟﻴﺴﺘﻲ‬‫ﺍﺯ‬‫ﻫﺎ‬‫ﺩﺍﺩﻩ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﻓﺎﻳﻞ‬‫ﺫﺧﻴﺮﻩ‬‫ﻭ‬
‫ﺑﺎﺯﻳﺎﺑﻲ‬‫ﻛﻨﻴﺪ‬(.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﺗﻤﺮﻳﻦ‬:‫ﻳﻚ‬‫ﻓﺮﻡ‬‫ﺑﻪ‬‫ﻧﺎﻡ‬FrmReplace‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻓﻮﻕ‬‫ﺍﺿﺎﻓﻪ‬‫ﻛﻨﻴﺪ‬‫ﻭ‬‫ﻇﺎﻫﺮ‬
‫ﺁﻧﻬﺎ‬‫ﺭﺍ‬‫ﻫﻤﺎﻧﻨﺪ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﻃﺮﺍﺣﻲ‬‫ﻛﻨﻴﺪ‬.‫ﺳﭙﺲ‬‫ﺭﺧﺪﺍﺩﻫﺎﻱ‬‫ﻣﻮﺭﺩ‬‫ﻧﻴﺎﺯ‬‫ﺭﺍ‬‫ﺑﻪ‬
‫ﻧﺤﻮﻱ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﻛﺎﺭﻛﺮﺩ‬‫ﺗﻤﺎﻡ‬‫ﺍﺟﺰﺍء‬‫ﺁﻥ‬‫ﻫﻤﺎﻧﻨﺪ‬‫ﻓﺮﻡ‬
Replace‫ﺩﺭ‬‫ﺑﺮﻧﺎﻣﻪ‬Notepad‫ﻭﻳﻨﺪﻭﺯ‬‫ﮔﺮﺩﺩ‬.
‫ﺩﺭ‬‫ﺻﻮﺭﺗﻴﻜﻪ‬‫ﺩﻗﺖ‬‫ﻛﻨﻴﺪ‬‫ﻣﺸﺨﺺ‬‫ﻣﻲ‬‫ﺷﻮﺩ‬‫ﻛﻪ‬‫ﺗﻤﺎﻡ‬‫ﺑﺨﺶ‬
‫ﻫﺎﻱ‬‫ﻓﺮﻡ‬FrmFind‫ﺩﺭ‬‫ﺍﻳﻦ‬‫ﻓﺮﻡ‬‫ﻧﻴﺰ‬‫ﻣﻮﺟﻮﺩ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻭ‬
‫ﻻﺯﻡ‬‫ﻧﻴﺴﺖ‬‫ﺍﻳﻦ‬‫ﺑﺨﺶ‬‫ﻫﺎ‬‫ﻣﺠﺪﺩﺍ‬‫ﻃﺮﺍﺣﻲ‬‫ﺷﻮﻧﺪ‬‫ﻭ‬‫ﻛﺎﻓﻴﺴﺖ‬
‫ﻓﺮﻡ‬FrmReplace‫ﻓﺮﻡ‬FrmFind‫ﺭﺍ‬‫ﺑﻪ‬‫ﺍﺭﺙ‬‫ﺑﺒﺮﺩ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﻳﻚ‬‫ﻓﺮﻡ‬‫ﺑﻪ‬‫ﻧﺎﻡ‬FrmGoto‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻓﻮﻕ‬‫ﺍﺿﺎﻓﻪ‬‫ﻛﻨﻴﺪ‬‫ﻭ‬‫ﻇﺎﻫﺮ‬‫ﺁﻧﻬﺎ‬
‫ﺭﺍ‬‫ﻫﻤﺎﻧﻨﺪ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﻃﺮﺍﺣﻲ‬‫ﻛﻨﻴﺪ‬.‫ﺳﭙﺲ‬‫ﺭﺧﺪﺍﺩﻫﺎﻱ‬‫ﻣﻮﺭﺩ‬‫ﻧﻴﺎﺯ‬‫ﺭﺍ‬‫ﺑﻪ‬
‫ﻧﺤﻮﻱ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﻛﺎﺭﻛﺮﺩ‬‫ﺗﻤﺎﻡ‬‫ﺍﺟﺰﺍء‬‫ﺁﻥ‬‫ﻫﻤﺎﻧﻨﺪ‬‫ﻓﺮﻡ‬Goto‫ﺩﺭ‬
‫ﺑﺮﻧﺎﻣﻪ‬Notepad‫ﻭﻳﻨﺪﻭﺯ‬‫ﮔﺮﺩﺩ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬Mynotepad‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻫﺮ‬‫ﻟﺤﻈﻪ‬
‫ﺳﻄﺮ‬‫ﻭ‬‫ﺳﺘﻮﻥ‬‫ﻣﺤﻞ‬‫ﺟﺎﺭﻱ‬‫ﻣﻜﺎﻥ‬‫ﻧﻤﺎ‬‫ﻫﻤﺎﻧﻨﺪ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﺩﺭ‬‫ﻣﻴﻠﻪ‬‫ﻭﺿﻌﻴﺖ‬
‫ﻧﺸﺎﻥ‬‫ﺩﺍﺩﻩ‬‫ﺷﻮﺩ‬.
‫ﺩﻗﺖ‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﺗﻐﻴﻴﺮ‬‫ﻣﻘﺎﺩﻳﺮ‬‫ﺳﻄﺮ‬‫ﻭ‬‫ﺳﺘﻮﻥ‬‫ﺟﺎﺭﻱ‬‫ﺩﺭ‬‫ﻣﻴﻠﻪ‬‫ﻭﺿﻌﻴﺖ‬‫ﺩﺭ‬‫ﻫﻤﻪ‬‫ﻫﺎ‬‫ﺣﺎﻟﺖ‬‫ﺩﺭﺳﺖ‬‫ﻛﺎﺭ‬
‫ﻛﻨﺪ‬.)‫ﺑﺎ‬‫ﺗﺎﻳﭗ‬،‫ﻛﺮﺩﻥ‬‫ﺑﺎ‬‫ﻛﻠﻴﻚ‬‫ﻛﺮﺩﻥ‬‫ﻣﻮﺱ‬،‫ﺑﺎ‬‫ﻛﻠﻴﺪﻫﺎﻱ‬‫ﺟﻬﺖ‬‫ﻧﻤﺎﻭ‬....(
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬Mynotepad‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻫﺮ‬‫ﻟﺤﻈﻪ‬
‫ﻭﺿﻌﻴﺖ‬Enabled‫ﮔﺰﻳﻨﻪ‬‫ﻫﺎﻱ‬‫ﻣﻨﻮ‬‫ﺻﺤﻴﺢ‬‫ﺗﻨﻈﻴﻢ‬‫ﺷﺪﻩ‬‫ﺑﺎﺷﺪ‬.‫ﺑﻪ‬‫ﻋﻨﻮﺍﻥ‬
‫ﻣﺜﺎﻝ‬‫ﺯﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﻣﺘﻨﻲ‬‫ﺍﻧﺘﺨﺎﺏ‬‫ﻧﺸﺪﻩ‬‫ﺑﺎﺷﺪ‬‫ﮔﺰﻳﻨﻪ‬Copy‫ﻏﻴﺮ‬‫ﻓﻌﺎﻝ‬‫ﻭ‬‫ﺩﺭ‬
‫ﻏﻴﺮﺍﻧﺼﻮﺭﺕ‬‫ﻓﻌﺎﻝ‬‫ﺑﺎﺷﺪ‬.
‫ﺩﻗﺖ‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﺯﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﻣﻮﺱ‬‫ﻳﺎ‬‫ﻛﻴﺒﺮﺩ‬‫ﺑﺎ‬‫ﻣﻨﻮ‬‫ﻛﺎﺭ‬‫ﻣﻲ‬‫ﻛﻨﻴﺪ‬‫ﺑﺎﻳﺪ‬‫ﮔﺰﻳﻨﻪ‬‫ﻫﺎﻱ‬‫ﻣﻨﻮ‬
‫ﺻﺤﻴﺢ‬‫ﺗﻨﻈﻴﻢ‬‫ﺷﺪﻩ‬‫ﺑﺎﺷﻨﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﺍﻫﺪﺍﻑ‬‫ﺁﻣﻮﺯﺷﻲ‬:
•‫ﻛﻤﻚ‬ ‫ﺑﻪ‬ ‫ﺍﻃﻼﻋﺎﺗﻲ‬ ‫ﺑﺎﻧﻚ‬ ‫ﺍﻳﺠﺎﺩ‬ ‫ﺭﻭﺵ‬ ‫ﺑﺎ‬ ‫ﺁﺷﻨﺎﻳﻲ‬SQL Server
•‫ﺗﻜﻨﻮﻟﻮژﻱ‬ ‫ﺑﺎ‬ ‫ﺁﺷﻨﺎﻳﻲ‬ADO.NET
•‫ﺩﺭ‬ ‫ﻣﻮﺟﻮﺩ‬ ‫ﻫﺎﻱ‬‫ﻛﻼﺱ‬ ‫ﺑﺎ‬ ‫ﺁﺷﻨﺎﻳﻲ‬ADO.NET
•‫ﻛﺮﺩﻥ‬ ‫ﺑﺮﻗﺮﺍﺭ‬ ‫ﺍﺭﺗﺒﺎﻁ‬ ‫ﻧﺤﻮﻩ‬ ‫ﻣﻌﺮﻓﻲ‬C#.Net‫ﺭﻭﺵ‬ ‫ﺑﻪ‬ ‫ﺍﻃﻼﻋﺎﺗﻲ‬ ‫ﺑﺎﻧﻚ‬ ‫ﺑﺎ‬ADO.NET
•‫ﻫﺎ‬‫ﺩﺍﺩﻩ‬ ‫ﻛﺮﺩﻥ‬ ‫ﺣﺬﻑ‬ ‫ﻭ‬ ‫ﻛﺮﺩﻥ‬ ‫ﻭﻳﺮﺍﻳﺶ‬ ،‫ﻛﺮﺩﻥ‬ ‫ﺫﺧﻴﺮﻩ‬ ‫ﻧﺤﻮﻩ‬ ‫ﺑﺎ‬ ‫ﺁﺷﻨﺎﻳﻲ‬
•‫ﺍﻳﺠﺎﺩ‬‫ﭘﻮﻳﺎ‬ ‫ﺟﺴﺘﺠﻮﮔﺮ‬ ‫ﻳﻚ‬ ‫ﻛﺮﺩﻥ‬
‫ﻃﺮﺍﺣﻲ‬‫ﻭ‬‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﻳﻚ‬‫ﺩﻓﺘﺮﭼﻪ‬‫ﺗﻠﻔﻦ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
2
‫ﺫﺧﻴﺮﻩ‬‫ﻭ‬‫ﺑﺎﺯﻳﺎﺑﻲ‬‫ﺍﻃﻼﻋﺎﺕ‬‫ﻳﻜﻲ‬‫ﺍﺯ‬‫ﻣﻬﻤﺘﺮﻳﻦ‬‫ﻫﺎ‬‫ﺑﺨﺶ‬‫ﺩﺭ‬‫ﺗﻮﻟﻴﺪ‬‫ﻳﻚ‬‫ﻣﺤﺼﻮﻝ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭﻱ‬‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬.‫ﺍﻣﺮﻭﺯﻩ‬‫ﺑﺮﺍﻱ‬
‫ﺫﺧﻴﺮﻩ‬‫ﻭ‬‫ﺑﺎﺯﻳﺎﺑﻲ‬‫ﺍﻃﻼﻋﺎﺕ‬‫ﺩﺭ‬‫ﺣﺠﻢ‬‫ﺯﻳﺎﺩ‬‫ﺍﺯ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭﻫﺎﻱ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﻫﻤﺎﻧﻨﺪ‬Access ,Sql Server
Oracle‫ﻭ‬‫ﻏﻴﺮﻩ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬.‫ﺩﺭ‬.Net‫ﻫﺎﻱ‬‫ﺭﻭﺵ‬‫ﻣﺨﺘﻠﻔﻲ‬‫ﺑﺮﺍﻱ‬‫ﺍﺭﺗﺒﺎﻁ‬‫ﺑﺎ‬‫ﻫﺎﻱ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪﻩ‬
‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺍﺯ‬‫ﺟﻤﻠﻪ‬‫ﺍﻳﻦ‬‫ﻫﺎ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﺗﻮﺍﻥ‬‫ﻣﻲ‬ADO.NET،LINQ‫ﻭ‬...‫ﺭﺍ‬‫ﻧﺎﻡ‬‫ﺑﺮﺩ‬.‫ﺩﺭ‬‫ﺍﻳﻦ‬‫ﺑﺨﺶ‬‫ﺍﺑﺘﺪﺍ‬‫ﺍﺟﺰﺍء‬
ADO.NET‫ﺭﺍ‬‫ﺑﺮﺭﺳﻲ‬‫ﻛﺮﺩﻩ‬‫ﻭ‬‫ﺩﺭ‬‫ﺍﺩﺍﻣﻪ‬‫ﺑﺎ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺍﻳﻦ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﻳﻚ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻛﺎﺭﺑﺮﺩﻱ‬‫ﺭﺍ‬‫ﺑﺼﻮﺭﺕ‬‫ﻛﺎﻣﻞ‬
‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﺧﻮﺍﻫﻴﻢ‬‫ﻛﺮﺩ‬.
‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﭼﻴﺴﺖ؟‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
3
‫ﺑﻪ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﻫﺎﻳﻲ‬‫ﻛﻼﺱ‬‫ﻛﻪ‬‫ﺍﺷﻴﺎﺋﻲ‬‫ﺍﺯ‬‫ﺁﻥ‬‫ﻫﺎ‬‫ﻛﻼﺱ‬‫ﺑﺮﺍﻱ‬
‫ﺩﺳﺘﺮﺳﻲ‬‫ﺑﻪ‬‫ﻫﺎﻱ‬‫ﺩﺍﺩﻩ‬‫ﻳﻚ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺩﺭ‬.Net
‫ﺍﺳﺘﻔﺎﺩﻩ‬،‫ﺷﻮﺩ‬‫ﻣﻲ‬ADO.NET‫ﮔﻔﺘﻪ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬.
ADO.NET‫ﭼﻴﺴﺖ؟‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
4
‫ﺗﻜﻨﻮﻟﻮژﻱ‬ADO.NET‫ﺑﺮﺍﻱ‬‫ﺫﺧﻴﺮﻩ‬‫ﻭ‬‫ﺑﺎﺯﻳﺎﺑﻲ‬
‫ﺩﺍﺩﻩ‬ ‫ﻫﺎ‬‫ﺩﺭ‬‫ﻫﺮ‬‫ﻧﻮﻉ‬‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬‫ﺍﻱ‬‫ﻛﺎﺭﺑﺮﺩ‬‫ﺩﺍﺭﺩ‬.
‫ﻫﻤﭽﻨﻴﻦ‬‫ﺍﻳﻦ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﺑﺮﺍﻱ‬‫ﺫﺧﻴﺮﻩ‬‫ﺑﺎﺯﻳﺎﺑﻲ‬
‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﺩﺭ‬‫ﻫﺮ‬‫ﻧﻮﻉ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺍﺯ‬‫ﺗﺤﺖ‬‫ﻭﺏ‬
‫ﺗﺎ‬‫ﺗﺤﺖ‬‫ﻭﻳﻨﺪﻭﺯ‬‫ﻛﺎﺭﺑﺮﺩ‬‫ﺩﺍﺭﺩ‬.
‫ﻛﺎﺭﺑﺮﺩ‬ADO.NET
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
5
‫ﻫﺎﻱ‬‫ﻛﻼﺱ‬‫ﺍﺻﻠﻲ‬‫ﻭ‬‫ﻣﺸﺘﺮﻙ‬ADO‫ﺩﺭ‬‫ﻓﻀﺎﻱ‬‫ﻧﺎﻡ‬System.Data‫ﻗﺮﺍﺭ‬‫ﺩﺍﺭﻧﺪ‬.‫ﺍﻳﻦ‬‫ﻓﻀﺎﻱ‬‫ﻧﺎﻡ‬‫ﺧﻮﺩ‬‫ﻧﻴﺰ‬‫ﺷﺎﻣﻞ‬‫ﭼﻨﺪ‬‫ﻓﻀﺎﻱ‬‫ﻧﺎﻡ‬‫ﺩﻳﮕﺮ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬
‫ﻣﻬﻤﺘﺮﻳﻦ‬‫ﺁﻧﻬﺎ‬‫ﻋﺒﺎﺭﺗﻨﺪ‬‫ﺍﺯ‬System.Data.SqlClient‫ﻭ‬System.Data.OleDb.‫ﻓﻀﺎ‬‫ﻱ‬‫ﻧﺎ‬‫ﻡ‬System.Data.SqlClient‫ﺣﺎ‬‫ﻭﻱ‬
‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎﻳﻲ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺑﺎﻧ‬‫ـ‬‫ﻚﻫ‬‫ـ‬‫ﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍﺯ‬‫ﻧﻮ‬‫ﻉ‬Sql Server‫ﻣﻮ‬‫ﺭﺩ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﻣﻲﮔﻴﺮ‬‫ﺩ‬.‫ﻓﻀﺎ‬‫ﻱ‬‫ﻧﺎ‬‫ﻡ‬
System.Data.OleDb‫ﻧﻴﺰ‬‫ﺣﺎ‬‫ﻭﻱ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎﻳﻲ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺑﺎﻧ‬‫ـ‬‫ﻚﻫ‬‫ـ‬‫ﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍﺯ‬‫ﻧﻮ‬‫ﻉ‬)OLE‫ﻣﺎﻧﻨﺪ‬‫ﺑﺎﻧﻚﻫﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬
(Access‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬.‫ﺩﺭ‬‫ﻃﻲ‬‫ﺍ‬‫ﻳﻦ‬‫ﻓﺼﻞ‬‫ﺑﺎ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬‫ﻓﻀﺎ‬‫ﻱ‬‫ﻧﺎ‬‫ﻡ‬SqlClient‫ﺑﻪ‬‫ﺑﺎﻧﻚﻫﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍﺯ‬‫ﻧﻮ‬‫ﻉ‬SQL Server‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬
‫ﺧﻮ‬‫ﺍ‬‫ﻫﻴﻢ‬‫ﺩﺍ‬‫ﺷﺖ‬.
‫ﻫﺎﻱ‬ ‫ﻧﺎﻡ‬ ‫ﻓﻀﺎﻱ‬ADO.NET‫ﻫﺴﺘﻨﺪ‬‫؟‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
6
‫ﺍ‬‫ﺑﺘﺪ‬‫ﺍ‬‫ﺑﺎ‬‫ﺗﻌﺪ‬‫ﺍﺩﻱ‬‫ﺍﺯ‬‫ﻣﻬﻤﺘﺮﻳﻦ‬‫ﻛﻼﺱ‬‫ﻫﺎﻱ‬ADO.NET‫ﻛﻪ‬‫ﺩﺭ‬‫ﻃﻲ‬‫ﻣﺜﺎ‬‫ﻝ‬‫ﻫﺎ‬‫ﻱ‬‫ﺍ‬‫ﻳﻦ‬‫ﺑﺨﺶ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﻛ‬‫ـ‬‫ﺎ‬‫ﺭ‬‫ﺭ‬‫ﻓﺘ‬‫ـ‬‫ﻪ‬‫ﺍ‬‫ﻧ‬‫ـ‬‫ﺪ‬‫ﺁ‬‫ﺷ‬‫ـ‬‫ﻨﺎ‬‫ﻣﻲﺷﻮﻳﻢ‬.
‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎ‬‫ﻋﺒﺎ‬‫ﺭ‬‫ﺗﻨﺪ‬‫ﺍﺯ‬:
SqlConnection-SqlCommand-SqlDataAdapter-SqlParameter
‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎ‬‫ﻓﻘﻂ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍﺭ‬‫ﺗﺒﺎ‬‫ﻁ‬‫ﺑﺎ‬‫ﺑﺎﻧﻚﻫﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬SQL Server‫ﻣﻮ‬‫ﺭﺩ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﻣ‬‫ـ‬‫ﻲﮔﻴﺮﻧ‬‫ـ‬‫ﺪ‬‫ﻭ‬‫ﺩﺭ‬‫ﻓﻀﺎﻱ‬
‫ﻧﺎﻡ‬System.Data.SqlClient‫ﻗﺮﺍﺭ‬‫ﺩﺍﺭﻧﺪ‬.‫ﻫﻤﭽﻨﻴﻦ‬‫ﺍﺯ‬‫ﻛﻼﺱ‬DataSet‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻣﻲ‬‫ﻛﻨﻴﻢ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻓﻀﺎﻱ‬‫ﻧﺎﻡ‬System.Data
‫ﻗﺮﺍﺭ‬‫ﺩﺍﺭﻧﺪ‬‫ﻭ‬‫ﺑﺮﺍﻱ‬‫ﺗﻤﺎﻡ‬‫ﺳﺮﻭﻳﺲ‬‫ﺩﻫﻨﺪﻩ‬‫ﻫﺎ‬‫ﻗﺎﺑﻞ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻫﺴﺘﻨﺪ‬.‫ﺑﻨﺎﺑﺮﺍﻳﻦ‬‫ﺑﻪ‬‫ﻛﻤﻚ‬‫ﺩﺳﺘﻮﺭ‬using‫ﻓﻀﺎﻱ‬‫ﻧﺎﻡ‬‫ﻫﺎﻱ‬‫ﻣﺬﻛﻮﺭ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬
‫ﺑﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺍﺿﺎﻓﻪ‬‫ﻣﻲ‬‫ﻛﻨﻴﻢ‬.
‫ﻛﻼﺱ‬‫ﻫﺎﻱ‬‫ﺑﻜﺎﺭ‬‫ﺑﺮﺩﻩ‬‫ﺷﺪﻩ‬‫ﺩﺭ‬‫ﺍﻳﻦ‬‫ﺑﺨﺶ‬
using System.Data;
using System.Data.SqlClient;
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
7
ً‫ﺎ‬‫ﺗﻘﺮﻳﺒ‬‫ﻣﻲﺗﻮ‬‫ﺍﻧﻴﻢ‬‫ﺑﮕﻮﻳﻴﻢ‬‫ﻛﻪ‬‫ﻛﻼ‬‫ﺱ‬SqlConnection
‫ﺩﺭ‬‫ﻗﻠﺐ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎﻳﻲ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩﺍﺭﺩ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﻗ‬‫ـ‬‫ﺴﻤﺖ‬‫ﻣ‬‫ـ‬‫ﻮ‬‫ﺭﺩ‬
‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﻣﻲ‬،‫ﮔﻴﺮﺩ‬‫ﺯ‬‫ﻳﺮ‬‫ﺍ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻭ‬‫ﻇﻴﻔﻪ‬‫ﺑﺮﻗﺮ‬‫ﺍﺭﻱ‬
‫ﺍﺭ‬‫ﺗﺒﺎ‬‫ﻁ‬‫ﺑﻴﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻭ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺭﺍ‬‫ﺑﺮ‬‫ﻋﻬﺪ‬‫ﻩ‬
‫ﺩﺍﺭﺩ‬.
‫ﻛﻼﺱ‬SqlConnection
‫ﻳ‬‫ـ‬‫ﻚ‬‫ﻧﻤﻮﻧﻪ‬‫ﺍﺯ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﺩﺍﺭﺍﻱ‬‫ﺟﺰء‬‫ﺩﺍﺩﻩ‬‫ﺍﻱ‬‫ﺑﻪ‬‫ﻧﺎ‬‫ﻡ‬ConnectionString‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.‫ﺍﻳﻦ‬‫ﺧﺼﻮﺻﻴﺖ‬‫ﺑﻪ‬‫ﻧﺎﻡ‬‫ﺭﺷﺘﻪ‬‫ﺍﺗﺼﺎﻝ‬
‫ﻣﻌﺮﻭﻑ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺍﺯ‬‫ﻧﻮ‬‫ﻉ‬‫ﺭ‬‫ﺷﺘﻪ‬‫ﺍﻱ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻭ‬‫ﺗﻤﺎ‬‫ﻡ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﻧﻴﺎ‬‫ﺯ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﺗﺼﺎ‬‫ﻝ‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺭﺍ‬‫ﺷﺎﻣﻞ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
8
‫ﺑﺨﺶﻫﺎ‬‫ﻱ‬‫ﻣﺨﺘﻠﻒ‬ConnectionString
‫ﺗﻮﺿﻴﺢ‬ ‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬
‫ﻧﺎ‬‫ﻡ‬‫ﺳﺮ‬‫ﻭﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﻛﻪ‬‫ﻣﻲﺧﻮ‬‫ﺍ‬‫ﻫﻴﺪ‬‫ﺍﺯ‬‫ﺁﻥ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨﻴﺪ‬.‫ﺍ‬‫ﻳﻦ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬ً‫ﻻ‬‫ﻣﻌﻤﻮ‬
‫ﺣﺎ‬‫ﻭﻱ‬‫ﻧ‬‫ـ‬‫ﺎ‬‫ﻡ‬‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﻱ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﻣﻮﺗﻮ‬‫ﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬SQL Server‫ﺩﺭ‬‫ﺁﻥ‬
‫ﻧﺼﺐ‬‫ﺷ‬‫ـ‬‫ﺪ‬‫ﻩ‬‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺖ‬.‫ﺍ‬‫ﮔ‬‫ـ‬‫ﺮ‬SQL Server‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﻫﻤﺎ‬‫ﻥ‬‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﻱ‬‫ﻛﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺭﺍ‬
‫ﺍ‬‫ﺟﺮ‬‫ﺍ‬‫ﻣ‬‫ـ‬‫ﻲﻛﻨ‬‫ـ‬‫ﺪ‬‫ﻧ‬‫ـ‬‫ﺼﺐ‬‫ﺷ‬‫ـ‬‫ﺪ‬‫ﻩ‬‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺖ‬،‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﻴﺪ‬‫ﺍﺯ‬‫ﻣﻘﺎ‬‫ﺩ‬‫ﻳﺮ‬‫ﻱ‬‫ﻣﺎﻧﻨﺪ‬local‫ﻭ‬‫ﻳﺎ‬
localhost‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﻳﻦ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨﻴﺪ‬.‫ﺍ‬‫ﻣﺎ‬‫ﺍ‬‫ﮔﺮ‬‫ﺍﺯ‬SQL Server‫ﻛﻪ‬‫ﺩﺭ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﺩ‬‫ﻳﮕﺮ‬‫ﻱ‬‫ﺩﺭ‬‫ﺷﺒﻜﻪ‬‫ﻧﺼﺐ‬‫ﺷﺪ‬‫ﻩ‬‫ﺍ‬‫ﺳﺖ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻣﻲﻛﻨﻴﺪ‬،‫ﻻ‬‫ﺯﻡ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﻣﻘﺪ‬‫ﺍﺭ‬
‫ﺍ‬‫ﻳﻦ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬‫ﺭﺍ‬‫ﺑﺮ‬‫ﺍ‬‫ﺑﺮ‬‫ﺑﺎ‬‫ﻧﺎ‬‫ﻡ‬‫ﺁﻥ‬‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﺩﺭ‬‫ﺷﺒﻜﻪ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩ‬‫ﻫﻴﺪ‬.‫ﻫﻤﭽﻨ‬‫ـ‬‫ﻴﻦ‬‫ﺍ‬‫ﮔﺮ‬‫ﺩﺭ‬‫ﺁﻥ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﺑﻴﺶ‬‫ﺍﺯ‬‫ﻳﻚ‬SQL Server‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩﺍ‬‫ﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬،‫ﺑﺎﻳﺪ‬‫ﺑﻌﺪ‬‫ﺍﺯ‬‫ﻧﺎ‬‫ﻡ‬‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻳﻚ‬‫ﻋﻼﻣﺖ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩﺍﺩﻩ‬‫ﻭ‬‫ﺳﭙﺲ‬‫ﻧﺎ‬‫ﻡ‬SQL Server‫ﻛﻪ‬‫ﻣﻲﺧﻮ‬‫ﺍ‬‫ﻫﻴﺪ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺘﻔﺎ‬‫ﺩﻩ‬
‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﺩ‬‫ﻫﻴﺪ‬‫ﺭﺍ‬‫ﺫ‬‫ﻛﺮ‬‫ﻛﻨﻴﺪ‬.
Server
‫ﻧﺎ‬‫ﻡ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﻛﻪ‬‫ﻣﻲﺧﻮ‬‫ﺍ‬‫ﻫﻴﺪ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩ‬‫ﻫﻴﺪ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬‫ﻗﺮ‬‫ﺍﺭ‬
‫ﻣ‬‫ـ‬‫ﻲﮔﻴ‬‫ـ‬‫ﺮ‬‫ﺩ‬)‫ﺑﺮ‬‫ﺍﻱ‬‫ﻣﺜﺎ‬‫ﻝ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬Phonebook(. Database
‫ﺍ‬‫ﻳﻦ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬‫ﺑﺎﻳﺪ‬‫ﺣﺎ‬‫ﻭﻱ‬‫ﻧﺎ‬‫ﻡ‬‫ﻛﺎ‬‫ﺭ‬‫ﺑﺮ‬‫ﻱ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﻣﻲﺧﻮ‬‫ﺍ‬‫ﻫﻴﻢ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﺗﺼﺎ‬‫ﻝ‬‫ﺑﻪ‬‫ﺑﺎﻧﻚ‬
‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍﺯ‬‫ﺁﻥ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨﻴﻢ‬.‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﻳﻨﻜﻪ‬‫ﺑﺘﻮ‬‫ﺍ‬‫ﻧﻴﻢ‬‫ﺑﺎ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬‫ﺍ‬‫ﻳﻦ‬‫ﺭﻭﺵ‬‫ﺍﺯ‬‫ﺑﺎﻧﻚ‬
‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨ‬‫ـ‬‫ﻴﻢ‬،‫ﺑﺎﻳﺪ‬‫ﻳﻚ‬‫ﺣﺴﺎ‬‫ﺏ‬‫ﻛﺎ‬‫ﺭ‬‫ﺑﺮ‬‫ﻱ‬‫ﺑﻪ‬‫ﺍ‬‫ﻳﻦ‬‫ﻧﺎ‬‫ﻡ‬‫ﺩﺭ‬SQL Server
‫ﺍ‬‫ﻳﺠﺎ‬‫ﺩ‬‫ﺷﺪ‬‫ﻩ‬‫ﻭ‬‫ﺍ‬‫ﺟﺎ‬‫ﻱ‬‫ﺯﻩ‬‫ﺩ‬‫ﺳﺘﺮﺳ‬‫ـ‬‫ﻲ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﻧﻴﺎ‬‫ﺯ‬‫ﻧﻴﺰ‬‫ﺑﻪ‬‫ﺁﻥ‬‫ﺩﺍﺩﻩ‬‫ﺷﻮ‬‫ﺩ‬.
User ID
‫ﻛﻠﻤﻪ‬‫ﻱ‬‫ﻋﺒﻮ‬‫ﺭﻱ‬‫ﻛﻪ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﻳﻦ‬‫ﻧﺎ‬‫ﻡ‬‫ﻛﺎ‬‫ﺭ‬‫ﺑﺮ‬‫ﻱ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﻣﻲﮔﻴﺮ‬‫ﺩ‬. Password
‫ﺳﺎﺧﺘﺎ‬‫ﺭ‬‫ﻣﺘﻨﻲ‬‫ﻛﻪ‬‫ﺑﺎﻳﺪ‬‫ﺑﺮ‬‫ﺍﻱ‬ConnectionString‫ﻣﻮ‬‫ﺭﺩ‬
‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﮔﻴﺮ‬،‫ﺩ‬‫ﺑﺴﺘﮕﻲ‬‫ﺑﻪ‬‫ﺳﺮ‬‫ﻭ‬‫ﻳﺲ‬‫ﺩ‬‫ﻫﻨﺪ‬‫ﻱ‬‫ﻩ‬
‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺩﺍﺭﺩ‬‫ﻛ‬‫ـ‬‫ﻪ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻛﻨﻴﻢ‬‫ﻣﻲ‬.‫ﻫﺎﻱ‬‫ﺑﺨﺶ‬‫ﻣﺨﺘﻠﻒ‬
ConnectionString‫ﺩﺭ‬‫ﺟﺪﻭﻝ‬‫ﻣﻘﺎﺑﻞ‬‫ﺗﻮﺿﻴﺢ‬‫ﺩﺍﺩﻩ‬‫ﺷﺪﻩ‬
‫ﺍﺳﺖ‬.‫ﺑﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﻳﺠﺎ‬‫ﺩ‬‫ﺍ‬‫ﻣﻨﻴﺖ‬‫ﺩﺭ‬‫ﺑﺎﻧﻚﻫﺎ‬‫ﻱ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍ‬‫ﻳﺠﺎ‬‫ﺩ‬
‫ﺷﺪ‬‫ﻩ‬‫ﺑﻮ‬‫ﺳﻴﻠﻪ‬‫ﻱ‬SQL Server،‫ﺑﺎﻳﺪ‬‫ﻫﻨﮕﺎ‬‫ﻡ‬‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬‫ﺑﻪ‬
‫ﺁ‬‫ﻧﻬ‬‫ـ‬‫ﺎ‬‫ﺍ‬‫ﺑﺘ‬‫ـ‬‫ﺪ‬‫ﺍ‬‫ﻫﻮﻳ‬‫ـ‬‫ﺖ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨﻨﺪ‬‫ﻩ‬‫ﺗﻮﺳﻂ‬SQL Server
‫ﺭﺍ‬‫ﻣﺸﺨﺺ‬‫ﻛﺮﺩ‬.‫ﺑﻨﺎﺑﺮ‬‫ﺍ‬‫ﻳﻦ‬‫ﺍ‬‫ﮔﺮ‬‫ﺑﺨﻮ‬‫ﺍ‬‫ﻫﻴﻢ‬‫ﺗﻮﺳﻂ‬‫ﻳﻚ‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺑﻪ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬‫ﻳﻚ‬‫ﺑﺎﻧ‬‫ـ‬‫ﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬
‫ﺩﺍ‬‫ﺷﺘﻪ‬‫ﺑﺎﺷ‬‫ـ‬‫ﻴﻢ‬،‫ﺑﺎﻳ‬‫ـ‬‫ﺪ‬‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎ‬‫ﺕ‬‫ﻻ‬‫ﺯﻡ‬‫ﺑ‬‫ـ‬‫ﺮ‬‫ﺍﻱ‬‫ﺍ‬‫ﻳ‬‫ـ‬‫ﻦ‬‫ﺗﻌﻴ‬‫ـ‬‫ﻴﻦ‬
‫ﻫﻮﻳ‬‫ـ‬‫ﺖ‬‫ﺭﺍ‬‫ﻫﻤ‬‫ـ‬‫ﺮ‬‫ﺍﻩ‬‫ﺑ‬‫ـ‬‫ﺎ‬‫ﺩ‬‫ﻳﮕ‬‫ـ‬‫ﺮ‬‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎ‬‫ﺕ‬‫ﺩﺭ‬‫ﻣ‬‫ـ‬‫ﺘﻦ‬
ConnectionString‫ﻣﺸﺨﺺ‬‫ﻛﻨﻴﻢ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
9
‫ﺑﻌﺪ‬‫ﺍﺯ‬‫ﺍ‬‫ﻳﻨﻜﻪ‬‫ﺑﺎ‬‫ﺍ‬‫ﻳﺠﺎ‬‫ﺩ‬ConnectionString‫ﻧﺤﻮ‬‫ﻱ‬‫ﻩ‬‫ﺑﺮﻗﺮ‬‫ﺍﺭﻱ‬‫ﺍﺭ‬‫ﺗﺒﺎ‬‫ﻁ‬‫ﺑﺎ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺭﺍ‬‫ﻣﺸﺨﺺ‬‫ﻛﺮ‬‫ﺩ‬‫ﻳﻢ‬،‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﻴﻢ‬
‫ﺑﺎ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬‫ﻣﺘﺪﻫﺎ‬‫ﻱ‬Open‫ﻭ‬Close‫ﺩﺭ‬‫ﻛﻼ‬‫ﺱ‬SqlConnection‫ﺑﻪ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﻣﺘﺼﻞ‬‫ﺷﺪ‬‫ﻩ‬‫ﻭ‬‫ﻳﺎ‬‫ﺍ‬‫ﺗﺼﺎ‬‫ﻝ‬
‫ﺧﻮ‬‫ﺩ‬‫ﺭﺍ‬‫ﻗﻄﻊ‬‫ﻛﻨﻴﻢ‬.‫ﻳﻚ‬‫ﻧﻤﻮﻧﻪ‬‫ﺍﺯ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﺎ‬‫ﺭ‬‫ﺩﺭ‬‫ﻗﻄﻌﻪ‬‫ﻛﺪ‬‫ﺯ‬‫ﻳﺮ‬‫ﻧﺸﺎ‬‫ﻥ‬‫ﺩﺍﺩﻩ‬‫ﺷﺪ‬‫ﻩ‬‫ﺍ‬‫ﺳﺖ‬:
‫ﺍ‬‫ﻟﺒﺘﻪ‬‫ﻣﺘﺪﻫﺎ‬‫ﻭ‬‫ﺧﻮﺍﺹ‬‫ﻓﺮ‬‫ﺍﻭﺍﻥ‬‫ﺩ‬‫ﻳﮕﺮ‬‫ﻱ‬‫ﺩﺭ‬‫ﻛﻼ‬‫ﺱ‬SqlConnection‫ﻭ‬‫ﺟﻮ‬‫ﺩ‬‫ﺩﺍﺭ‬‫ﻧﺪ‬‫ﻛﻪ‬‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﻴﻢ‬‫ﺩﺭ‬‫ﺑﺮﻧﺎﻣ‬‫ـ‬‫ﻪ‬‫ﺍﺯ‬‫ﺁ‬‫ﻧﻬ‬‫ـ‬‫ﺎ‬
‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺘﻔﺎ‬‫ﺩﻩ‬‫ﻛﻨﻴﻢ‬،‫ﺍ‬‫ﻣﺎ‬‫ﻣﻮ‬‫ﺍﺭﺩﻱ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻨﺠﺎ‬‫ﺑﺎ‬‫ﺁ‬‫ﻧﻬﺎ‬‫ﺁ‬‫ﺷﻨﺎ‬‫ﺷﺪﻳﻢ‬‫ﭘﺮﻛﺎ‬‫ﺭ‬‫ﺑﺮ‬‫ﺩ‬‫ﺗﺮﻳﻦ‬‫ﺁ‬‫ﻧﻬﺎ‬‫ﺑﻪ‬‫ﺷﻤﺎ‬‫ﺭ‬‫ﻣﻲ‬‫ﺭﻭ‬‫ﻧﺪ‬.
‫ﻣﺜﺎﻟﻲ‬‫ﺍﺯ‬‫ﻧﺤﻮﻩ‬‫ﺍﻳﺠﺎﺩ‬‫ﻳﻚ‬‫ﺷﻲ‬‫ﺍﺗﺼﺎﻝ‬‫ﻭ‬‫ﻧﺤﻮﻩ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺁﻥ‬
SqlConnection conn = new SqlConnection();
conn.ConnectionString = " ;"‫ﺍﺗﺼﺎﻝ‬ ‫ﺭﺷﺘﻪ‬
conn.Open();
.
.
.
conn.Close();
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
10
‫ﻛﻼ‬‫ﺱ‬SqlCommand‫ﺣﺎ‬‫ﻭﻱ‬‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬SQL‫ﺑﺮﺍﻱ‬‫ﺍﻋﻤﺎﻝ‬‫ﺗﻐﻴﻴﺮﺍﺕ‬
‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬‫ﺩﺭ‬‫ﻳﺎﻓﺖ‬‫ﺷﺪ‬‫ﻩ‬‫ﺍﺯ‬‫ﺑﺎﻧ‬‫ـ‬‫ﻚ‬‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎﺗﻲ‬‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺖ‬.‫ﺍ‬‫ﻳ‬‫ـ‬‫ﻦ‬
‫ﺩ‬‫ﺳ‬‫ـ‬‫ﺘﻮ‬‫ﺭ‬‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﺪ‬‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬SELECT‫ﺑﺮﺍﻱ‬‫ﺍ‬‫ﻧﺘﺨﺎ‬‫ﺏ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎﻳﻲ‬‫ﺧﺎ‬،‫ﺹ‬
‫ﻳ‬‫ـ‬‫ﻚ‬‫ﺩ‬‫ﺳ‬‫ـ‬‫ﺘﻮ‬‫ﺭ‬INSERT‫ﺑ‬‫ـ‬‫ﺮ‬‫ﺍﻱ‬‫ﺩﺭﺝ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎ‬‫ﻱ‬‫ﺟﺪﻳ‬‫ـ‬‫ﺪ‬‫ﺩﺭ‬
‫ﺑﺎﻧ‬‫ـ‬‫ﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬،‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬DELETE‫ﺑﺮ‬‫ﺍﻱ‬‫ﺣﺬ‬‫ﻑ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﺍﺯ‬‫ﺑﺎﻧﻚ‬
‫ﺍ‬‫ﻃﻼﻋﺎ‬‫ﺕ‬‫ﻭ‬‫ﻳﺎ‬‫ﺣﺘﻲ‬‫ﻓﺮ‬‫ﺍ‬‫ﺧﻮ‬‫ﺍ‬‫ﻧﻲ‬‫ﻳﻚ‬‫ﭘﺮ‬‫ﻭ‬‫ﺳﻴﺠﺮ‬‫ﺫ‬‫ﺧﻴﺮ‬‫ﻩ‬‫ﺷ‬‫ـ‬‫ﺪ‬‫ﻩ‬‫ﺩﺭ‬
‫ﺑﺎﻧ‬‫ـ‬‫ﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺑﺎﺷﺪ‬.‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬SQL‫ﻱ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻧﮕﻬﺪ‬‫ﺍﺭﻱ‬‫ﻣﻲﺷﻮ‬‫ﺩ‬
‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﺪ‬‫ﺷﺎﻣﻞ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮﻫﺎ‬‫ﻳﻲ‬‫ﻧﻴﺰ‬‫ﺑﺎﺷﺪ‬.‫ﺑﻪ‬‫ﺷﻜﻞ‬‫ﻣﻘﺎﺑﻞ‬‫ﻣﻴﺘﻮﺍﻧﻴﻢ‬‫ﻳﻚ‬‫ﺷﻲ‬‫ﺍﺯ‬
‫ﻧﻮﻉ‬‫ﺩﺳﺘﻮﺭ‬‫ﺗﻌﺮﻳﻒ‬‫ﻛﻨﻴﻢ‬.
‫ﻛﻼ‬‫ﺱ‬SqlCommand
‫ﺧﺎﺻﻴﺖ‬CommandText‫ﺣﺎﻭﻱ‬‫ﻣﺘﻨﻲ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧ‬‫ـ‬‫ﺪ‬‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬SQL‫ﻭ‬‫ﻳﺎ‬‫ﻧﺎﻡ‬‫ﻳﻚ‬‫ﭘﺮ‬‫ﻭ‬‫ﺳﻴﺠﺮ‬‫ﺫ‬‫ﺧﻴﺮ‬‫ﻩ‬‫ﺷﺪ‬‫ﻩ‬‫ﺩﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﺑﺎﻳﺪ‬
‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﺍ‬‫ﺟﺮ‬‫ﺍ‬‫ﺷﻮ‬‫ﺩ‬.‫ﺧﺎﺻﻴﺖ‬Connection‫ﻣﺮﺟﻊ‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﺷﻲ‬‫ﺍﺗﺼﺎﻝ‬‫ﺑﺎﺯ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﻣﻲ‬‫ﺧﻮﺍﻫﻴﻢ‬‫ﺩﺳﺘﻮﺭﻱ‬‫ﺩﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﻣﺮﺗﺒﻂ‬‫ﺑﺎ‬‫ﺁﻥ‬‫ﺷﻲ‬
‫ﺍﺗﺼﺎﻝ‬‫ﺍﺟﺮﺍ‬‫ﮔﺮﺩﺩ‬.SqlCommand c1 = new SqlCommand();
c1.Connection = conn;
c1.CommandText = "insert into Phones values('ali','ahmadi',0912..','tehran..')";
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
11
‫ﻣﺘﺪﻫﺎﻱ‬‫ﻛﻼﺱ‬SqlCommand
ExecuteNonQuery();
ExecuteReader();
ExecuteScalar();
SqlCommand c1 = new SqlCommand();
c1.Connection = conn;
c1.CommandText = "insert into Phones
values('ali','ahmadi',0912..','tehran..')";
c1.ExecuteNonQuery();
‫ﻧﻤﻮﻧﻪ‬‫ﺍﻱ‬‫ﺍﺯ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺩﻛﻤﻪ‬‫ﺫﺧﻴﺮﻩ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
12
‫ﭘﺎﺭﺍﻣﺘﺮﻫﺎ‬‫ﻣﺘﻐﻴﺮﻫﺎﻳﻲ‬‫ﻫﺴﺘﻨﺪ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬SQL‫ﻗﺮ‬‫ﺍﺭ‬‫ﻣﻲﮔﻴﺮﻧﺪ‬‫ﻭ‬‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﻨﺪ‬‫ﺩﺭ‬
‫ﺯ‬‫ﻣﺎ‬‫ﻥ‬‫ﺍ‬‫ﺟﺮ‬‫ﺍﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺟﺎ‬‫ﻱ‬‫ﺧ‬‫ـ‬‫ﻮ‬‫ﺩ‬‫ﺭﺍ‬‫ﺑ‬‫ـ‬‫ﺎ‬‫ﻋﺒ‬‫ـ‬‫ﺎ‬‫ﺭﺍ‬‫ﺗﻲ‬‫ﺧ‬‫ـ‬‫ﺎ‬‫ﺹ‬‫ﻋﻮ‬‫ﺽ‬‫ﻛﻨﻨﺪ‬.‫ﺍ‬‫ﻳﻦ‬‫ﻣﺘﻐﻴﺮﻫﺎ‬‫ﺑﺎ‬
‫ﻋﻼﻣﺖ‬@‫ﺩﺭ‬‫ﻳﻚ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬‫ﻣﺸﺨﺺ‬‫ﻣﻲﺷﻮﻧﺪ‬.
SqlCommand c1 = new SqlCommand();
c1.CommandText = "insert into Phones values(@p1,@p2,@p3,@p4)";
c1.Connection = conn;
c1.CommandType = CommandType.Text;
c1.Parameters.AddWithValue("p1", txtname.Text);
c1.Parameters.AddWithValue("p2",txtfamily.Text);
c1.Parameters.AddWithValue("p3", txttell.Text);
c1.Parameters.AddWithValue("p4",txtaddress.Text);
c1.ExecuteNonQuery();
‫ﻣﺘﺪ‬AddWithValue‫ﻧﺎﻡ‬‫ﻳﻚ‬‫ﭘﺎﺭﺍﻣﺘﺮ‬‫ﻭ‬‫ﻣﺘﻐﻴﺮ‬‫ﻱ‬‫ﻛﻪ‬‫ﻣﻘﺪ‬‫ﺍﺭ‬‫ﻣﺮﺑﻮ‬‫ﻁ‬‫ﺑﻪ‬‫ﺁﻥ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺯ‬‫ﻣﺎ‬‫ﻥ‬‫ﺍ‬‫ﺟﺮ‬‫ﺍﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﮕﻬﺪ‬‫ﺍﺭﻱ‬‫ﻣ‬‫ـ‬‫ﻲﻛﻨ‬‫ـ‬‫ﺪ‬‫ﺑ‬‫ـ‬‫ﻪ‬
‫ﻋﻨﻮ‬‫ﺍﻥ‬‫ﭘﺎ‬‫ﺭﺍ‬‫ﻣﺘﺮ‬‫ﺩﺭ‬‫ﻳﺎﻓﺖ‬‫ﻛﺮ‬‫ﺩﻩ‬‫ﻭ‬‫ﺁﻥ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻟﻴﺴﺖ‬Parameters‫ﺍ‬‫ﺿﺎﻓﻪ‬‫ﻣﻲﻛﻨﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
13
‫ﻫﻤﺎﻧﻄﻮ‬‫ﺭ‬‫ﻛﻪ‬‫ﻣﺸﺨﺺ‬‫ﺍﺳﺖ‬‫ﻳﻚ‬‫ﺷﻲ‬DataSet‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﺪ‬
‫ﺷﺎﻣﻞ‬‫ﭼﻨﺪﻳﻦ‬‫ﺟﺪ‬‫ﻭﻝ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﻫﺮ‬‫ﻳﻚ‬‫ﺍﺯ‬‫ﺁ‬‫ﻧﻬ‬‫ـ‬‫ﺎ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﻭ‬‫ﺳ‬‫ـ‬‫ﻴﻠﻪ‬‫ﻱ‬
‫ﻳ‬‫ـ‬‫ﻚ‬‫ﻛﻨﺘ‬‫ـ‬‫ﺮ‬‫ﻝ‬DataTable‫ﻣﺸﺨﺺ‬‫ﻣﻲﺷﻮ‬‫ﻧﺪ‬.‫ﺩ‬‫ﻗ‬‫ـ‬‫ﺖ‬‫ﻛﻨﻴﺪ‬
‫ﻛﻪ‬‫ﺍ‬‫ﺑﺘﺪ‬‫ﺍﻱ‬‫ﻛﻼ‬‫ﺱ‬DataSet‫ﻛﻠﻤﻪ‬‫ﻱ‬Sql‫ﻭ‬‫ﺟﻮ‬‫ﺩ‬‫ﻧﺪ‬‫ﺍﺭﺩ‬.
‫ﺩ‬‫ﻟﻴﻞ‬‫ﺍ‬‫ﻳﻦ‬‫ﻣﻮ‬‫ﺭﺩ‬‫ﻫﻢ‬‫ﺍ‬‫ﻳﻦ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻣﺘﻌﻠﻖ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﻓ‬‫ـ‬‫ﻀﺎ‬‫ﻱ‬
‫ﻧ‬‫ـ‬‫ﺎ‬‫ﻡ‬System.Data.SqlClient‫ﻧﻴﺴﺖ‬‫ﺑﻠﻜﻪ‬‫ﺩﺭ‬‫ﻓﻀﺎ‬‫ﻱ‬‫ﻧﺎ‬‫ﻡ‬
System.Data‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩﺍﺭﺩ‬.‫ﺑﻪ‬‫ﻋﺒﺎ‬‫ﺭﺕ‬‫ﺩ‬‫ﻳﮕﺮ‬،‫ﻛ‬‫ـ‬‫ﻼ‬‫ﺱ‬
Dataset‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺳﺮ‬‫ﻭ‬‫ﻳﺲ‬‫ﺩ‬‫ﻫﻨﺪ‬‫ﻱ‬‫ﻩ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺧﺎﺻﻲ‬‫ﺍﺯ‬‫ﻗﺒﻴﻞ‬
SqlClient‫ﻳﺎ‬OleDb‫ﺗﻌﻠﻖ‬‫ﻧﺪ‬‫ﺍﺭﺩ‬‫ﻭ‬‫ﻭ‬‫ﻇﻴﻔﻪ‬‫ﻱ‬‫ﺁﻥ‬‫ﻧﮕﻬﺪ‬‫ﺍﺭﻱ‬
‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎ‬‫ﺕ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺩ‬‫ﺳ‬‫ـ‬‫ﺖ‬‫ﺁ‬‫ﻣﺪ‬‫ﻩ‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﻧﺤﻮ‬‫ﻱ‬‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬‫ﺍ‬‫ﺳﺖ‬.
‫ﻫﻨﮕﺎﻣﻲ‬‫ﻛﻪ‬‫ﺍ‬‫ﻃﻼﻋﺎ‬‫ﺕ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬‫ﻗﺮ‬‫ﺍﺭ‬‫ﺩﺍﺩ‬‫ﻳﻢ‬‫ﺩ‬‫ﻳﮕﺮ‬‫ﻧﻴﺎ‬‫ﺯﻱ‬
‫ﻧﻴﺴﺖ‬‫ﺑﺪ‬‫ﺍ‬‫ﻧﻴﻢ‬‫ﻛﻪ‬‫ﺍ‬‫ﻳﻦ‬‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎ‬‫ﺕ‬‫ﺍﺯ‬‫ﻛﺠﺎ‬‫ﺑﻪ‬‫ﺩ‬‫ﺳﺖ‬‫ﺁ‬‫ﻣﺪ‬‫ﺍ‬‫ﻩ‬‫ﻧﺪ‬.
‫ﻛﻼﺱ‬DataSet
DataSet ds = new DataSet();
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
14
‫ﻛﻼ‬‫ﺱ‬DataAdapter‫ﺩﺭ‬‫ﺑﺮﻧﺎﻣﻪﻫﺎ‬‫ﻱ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬،‫ﻫﻤﺎﻧﻨﺪ‬‫ﭘﻠﻲ‬‫ﺑﻴﻦ‬‫ﺟﺪ‬‫ﺍﻭﻝ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﻭ‬‫ﻧﻴﺰ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬
‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻭ‬‫ﺳﻴﻠﻪ‬‫ﻱ‬DataSet‫ﻧﮕﻬﺪ‬‫ﺍﺭﻱ‬‫ﻣﻲﺷﻮﻧﺪ‬،‫ﻋﻤﻞ‬‫ﻣﻲﻛﻨﺪ‬.‫ﻣﻲﺗﻮ‬‫ﺍ‬‫ﻧﻴﻢ‬‫ﺑﮕﻮﺋﻴﻢ‬‫ﻛﻪ‬
‫ﻛﻼ‬‫ﺱ‬DataAdapter‫ﺑﺮ‬‫ﺍﻱ‬‫ﺩ‬‫ﺳﺘﺮﺳﻲ‬‫ﺑﻪ‬‫ﺑﺎﻧﻚ‬‫ﺍ‬‫ﻃﻼﻋ‬‫ـ‬‫ﺎﺗﻲ‬‫ﺍﺯ‬‫ﻛ‬‫ـ‬‫ﻼ‬‫ﺱ‬SqlCommand‫ﻭ‬SqlConnection
‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻣﻲﻛﻨﺪ‬.
‫ﻛﻼ‬‫ﺱ‬SqlDataAdapter
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
15
‫ﻛﻼ‬‫ﺱ‬DataAdapter‫ﺩﺍﺭﺍﻱ‬‫ﺧﺎﺻﻴﺘﻲ‬‫ﺑﻪ‬‫ﻧﺎ‬‫ﻡ‬
SelectCommand‫ﺍ‬‫ﺳﺖ‬‫ﻛ‬‫ـ‬‫ﻪ‬‫ﻣﺮﺟﻊ‬‫ﺑﻪ‬‫ﺷﻴﻲ‬‫ﺍﺯ‬‫ﻧﻮﻉ‬
‫ﺩﺳﺘﻮﺭ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬DataAdapter‫ﺁﻧﺮﺍ‬‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺑﺎﻧﻚ‬
‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍ‬‫ﺟﺮ‬‫ﺍ‬‫ﻛﺮ‬‫ﺩﻩ‬‫ﻭ‬‫ﻧﺘﺎﻳﺞ‬‫ﺁﻥ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫ‬‫ـ‬‫ﺎﻳﻲ‬‫ﻣﺎﻧﻨ‬‫ـ‬‫ﺪ‬
DataSet‫ﻭ‬‫ﻳ‬‫ـ‬‫ﺎ‬DataTable‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﻣﻲ‬‫ﺩ‬‫ﻫﺪ‬‫ﺗﺎ‬‫ﺩﺭ‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎ‬‫ﻣ‬‫ـ‬‫ﻮ‬‫ﺭﺩ‬‫ﺍ‬‫ﺳ‬‫ـ‬‫ﺘﻔﺎ‬‫ﺩﻩ‬‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﮔﻴﺮﻧ‬‫ـ‬‫ﺪ‬.‫ﻛ‬‫ـ‬‫ﻼ‬‫ﺱ‬
DataAdapter‫ﺩﺍﺭﺍﻱ‬‫ﺧﺎﺻ‬‫ـ‬‫ﻴﺖﻫ‬‫ـ‬‫ﺎﻳﻲ‬‫ﺑ‬‫ـ‬‫ﻪ‬
‫ﻧ‬‫ـ‬‫ﺎ‬‫ﻡ‬InsertCommand،DeleteCommand‫ﻭ‬
UpdateCommand‫ﺍ‬‫ﺳﺖ‬‫ﻛ‬‫ـ‬‫ﻪ‬‫ﻫ‬‫ـ‬‫ﺮ‬‫ﻳ‬‫ـ‬‫ﻚ‬‫ﺷ‬‫ـ‬‫ﻴﺌﻲ‬
‫ﺍﺯ‬‫ﻧ‬‫ـ‬‫ﻮ‬‫ﻉ‬SqlCommand‫ﺭﺍ‬‫ﻗﺒ‬‫ـ‬‫ﻮ‬‫ﻝ‬‫ﻣﻲﻛﻨﻨﺪ‬‫ﻭ‬
DataAdapter‫ﺍﺯ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭ‬‫ﺫ‬‫ﺧﻴﺮ‬‫ﻩ‬‫ﺷﺪ‬‫ﻩ‬‫ﺩﺭ‬‫ﻫﺮ‬‫ﻳﻚ‬‫ﺍﺯ‬
‫ﺁ‬‫ﻧﻬﺎ‬‫ﺑﻪ‬‫ﺗﺮﺗﻴﺐ‬‫ﺑﺮ‬‫ﺍﻱ‬‫ﺣﺬ‬،‫ﻑ‬‫ﺩﺭﺝ‬‫ﻭ‬‫ﻳﺎ‬‫ﻭ‬‫ﻳﺮ‬‫ﺍ‬‫ﻳﺶ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎ‬‫ﺩﺭ‬
‫ﺑﺎﻧ‬‫ـ‬‫ﻚ‬‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﻣﻲﻛﻨﺪ‬.‫ﺩﺭ‬‫ﺣﻘﻴﻘﺖ‬‫ﻫﻨﮕﺎﻣﻲ‬‫ﻛﻪ‬
‫ﻣﺎ‬‫ﺩﺭ‬‫ﻃﻲ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺗﻐﻴﻴﺮ‬‫ﺍ‬‫ﺗﻲ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺩﺭﻭﻥ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎ‬‫ﻱ‬‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬
‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻬ‬‫ـ‬‫ﺪ‬‫ﺍﺭﻱ‬‫ﻣﻲﻛﻨﻴﻢ‬،DataAdapter‫ﺑﺎ‬
‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬‫ﺩ‬‫ﺳﺘﻮ‬‫ﺭﺍﺕ‬‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﺧﺎﺻﻴﺖﻫﺎ‬‫ﺗﻐﻴﻴﺮ‬‫ﺍﺕ‬‫ﻣﺎ‬
‫ﺭﺍ‬‫ﺍﺯ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎ‬‫ﻱ‬‫ﺣﺎﻓﻈ‬‫ـ‬‫ﻪ‬‫ﺑ‬‫ـ‬‫ﻪ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎ‬‫ﻱ‬‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬‫ﺑﺎﻧﻚ‬
‫ﺍ‬‫ﻃﻼﻋﺎﺗﻲ‬‫ﻣﻨﺘﻘﻞ‬‫ﻣﻲﻛﻨﺪ‬.
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
16
‫ﺑﺎ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﻣﺘﺪ‬Fill‫ﺍﺯ‬‫ﻛﻼﺱ‬DataAdapter
‫ﺗﻮﺍﻥ‬‫ﻣﻲ‬‫ﺩﺳﺘﻮﺭ‬SQL‫ﻣﻮﺟﻮﺩ‬‫ﺩﺭ‬‫ﺧﺎﺻﻴﺖ‬
SelectCommand‫ﺭﺍ‬‫ﺩﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺍﺟﺮﺍ‬
‫ﻛﺮﺩﻩ‬‫ﻭ‬‫ﺳﭙﺲ‬‫ﻫﺎﻱ‬‫ﺩﺍﺩﻩ‬‫ﺑﺮﮔﺸﺘﻲ‬‫ﺍﺯ‬‫ﺍﺟﺮﺍﻱ‬‫ﺍﻳﻦ‬‫ﺩﺳﺘﻮﺭ‬
‫ﺭﺍ‬‫ﺩﺭﻭﻥ‬‫ﻳﻚ‬DataSet‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬‫ﻗﺮﺍﺭ‬‫ﺩﻫﻴﻢ‬.
‫ﻫﻨﮕﺎﻣﻲ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬DataAdapter
‫ﺩﺍﺩﻩ‬‫ﻫﺎﻳﻲ‬‫ﺭﺍ‬‫ﺩﺭﻭﻥ‬‫ﻳﻚ‬DataSet‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﻣﻲ‬‫ﺩ‬‫ﻫﻴﺪ‬،
‫ﺍ‬‫ﺑﺘﺪ‬‫ﺍ‬‫ﻳﻚ‬‫ﺷ‬‫ـ‬‫ﺊ‬‫ﺟﺪﻳ‬‫ـ‬‫ﺪ‬‫ﺍﺯ‬‫ﻧ‬‫ـ‬‫ﻮ‬‫ﻉ‬DataTable‫ﺍﻳﺠﺎﺩ‬
،‫ﺷﺪﻩ‬‫ﺩﺍﺩﻩ‬‫ﻫ‬‫ـ‬‫ﺎ‬‫ﺭﺍ‬‫ﺩﺭﻭﻥ‬‫ﺁﻥ‬‫ﻗ‬‫ـ‬‫ﺮ‬‫ﺍﺭ‬‫ﺩﺍﺩﻩ‬‫ﻣﻴﺸﻮﻧﺪ‬‫ﻭ‬
‫ﺑﻪ‬DataSet‫ﺍﺿﺎﻓﻪ‬‫ﻣﻴﺸﻮﻧﺪ‬.
‫ﻣﺘﺪ‬Fill‫ﺍﺯ‬‫ﻛﻼﺱ‬DataAdapter
SqlConnection conn = new SqlConnection();
conn.ConnectionString = " "‫ﺍﺗﺼﺎﻝ‬ ‫ﺭﺷﺘﻪ‬ ;
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
SqlCommand c1 = new SqlCommand();
c1.Connection = conn;
c1.CommandText = "Select * from Telbook";
da.SelectCommand = c1;
da.Fill(ds, "T1");
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
17
‫ﻫﺎﻱ‬‫ﻛﻼﺱ‬ ‫ﺍﺯ‬ ‫ﺍﻱ‬‫ﺳﺎﺩﻩ‬ ‫ﺗﺼﻮﺭ‬ADO.NET
‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎ‬‫ﻱ‬‫ﻣﻮﺟﻮ‬‫ﺩ‬‫ﺩﺭ‬ADO.NET‫ﺑﻪ‬
‫ﺣﺪ‬‫ﻱ‬‫ﺯ‬‫ﻳﺎ‬‫ﺩ‬‫ﻫﺴﺘﻨﺪ‬‫ﻛﻪ‬‫ﻧﻤﻲﺗﻮ‬‫ﺍ‬‫ﻧﻴﻢ‬‫ﺗﻤﺎ‬‫ﻡ‬‫ﺁ‬‫ﻧﻬﺎ‬
‫ﺭﺍ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﺑﺨﺶ‬‫ﻣﻌﺮﻓ‬‫ـ‬‫ﻲ‬‫ﻛﻨﻴﻢ‬.‫ﺑﺎ‬‫ﺍ‬‫ﻳﻦ‬
‫ﻭ‬‫ﺟﻮ‬‫ﺩ‬‫ﺗﻤﺎﻡ‬‫ﻛﻼﺱ‬‫ﻫﺎﻱ‬‫ﻣﻬﻢ‬‫ﻛﻪ‬‫ﺑﺮﺍﻱ‬‫ﻣﺜﺎﻝ‬
‫ﻛﺎﺭﺑﺮﺩﻱ‬‫ﺩﺭ‬‫ﺍﺩﺍﻣﻪ‬‫ﻧﻴﺎﺯ‬‫ﺩﺍﺭﻳﻢ‬‫ﺩﺭ‬‫ﺍ‬‫ﻳﻦ‬‫ﺑﺨﺶ‬
‫ﻣﻌﺮﻓﻲ‬‫ﺷﺪﻩ‬‫ﺍﻧﺪ‬‫ﻭ‬‫ﺍﺭﺗﺒﺎﻁ‬‫ﺁﻧﻬﺎ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺷﻜﻞ‬
‫ﻣﻘﺎﺑﻞ‬‫ﻣﺸﺎﻫﺪﻩ‬‫ﻣﻲ‬‫ﻛﻨﻴﺪ‬..
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
18
‫ﺍﺳﺘﻔﺎﺩﻩ‬ADO.NET‫ﺍﺯ‬‫ﻣﻌﻤﺎﺭﻱ‬‫ﻏﻴﺮﻣﺘﺼﻞ‬
ADO.NET‫ﺑﺮﺍﻱ‬‫ﺩﺳﺘﺮﺳﻲ‬‫ﺑﻪ‬‫ﻫﺎ‬‫ﺩﺍﺩﻩ‬‫ﺍﺯ‬‫ﻣﻌﻤﺎﺭﻱ‬‫ﻏﻴﺮﻣﺘﺼﻞ‬
‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.‫ﻏﻴﺮﻣﺘﺼﻞ‬‫ﺑﻪ‬‫ﺍﻳﻦ‬‫ﻣﻌﻨﻲ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺍﺑﺘﺪﺍ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺑﻪ‬
‫ﻣﻮﺗﻮﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﻣﻮﺭﺩ‬‫ﻧﻈﺮ‬‫ﻣﺘﺼﻞ‬،‫ﺷﺪﻩ‬‫ﻫﺎﻱ‬‫ﻩ‬‫ﺩﺍﺩ‬‫ﻣﻮﺭﺩ‬‫ﻧﻴﺎﺯ‬
‫ﺧﻮﺩ‬‫ﺭﺍ‬‫ﺍﺯ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺩﺭﻳﺎﻓﺖ‬‫ﻛﺮﺩﻩ‬‫ﻭ‬‫ﺁﻧﻬﺎ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬‫ﺫﺧﻴﺮﻩ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.‫ﺳﭙﺲ‬‫ﺍﺗﺼﺎﻝ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺍﺯ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬
‫ﻗﻄﻊ‬‫ﺷﻮﺩ‬‫ﻣﻲ‬‫ﻭ‬‫ﺗﻐﻴﻴﺮﺍﺕ‬‫ﻣﻮﺭﺩ‬‫ﻧﻈﺮ‬‫ﺧﻮﺩ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﻫﺎﻱ‬‫ﺩﺍﺩﻩ‬‫ﻣﻮﺟﻮﺩ‬‫ﺩﺭ‬
‫ﺣﺎﻓﻈﻪ‬‫ﺍﻧﺠﺎﻡ‬‫ﺩﻫﺪ‬‫ﻣﻲ‬.‫ﻫﺮ‬‫ﺯﻣﺎﻥ‬‫ﻛﻪ‬‫ﻻﺯﻡ‬‫ﺑﺎﺷﺪ‬‫ﺗﻐﻴﻴﺮﺍﺕ‬‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪﻩ‬
‫ﺩﺭ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺫﺧﻴﺮﻩ‬،‫ﺷﻮﻧﺪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻳﻚ‬‫ﺍﺗﺼﺎﻝ‬‫ﺟﺪﻳﺪ‬‫ﺭﺍ‬‫ﺑﺎ‬‫ﺑﺎﻧﻚ‬
‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺍﻳﺠﺎﺩ‬‫ﻛﺮﺩﻩ‬‫ﻭ‬‫ﺍﺯ‬‫ﻃﺮﻳﻖ‬‫ﺍﻳﻦ‬‫ﺍﺗﺼﺎﻝ‬‫ﺗﻐﻴﻴﺮﺍﺗﻲ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻫﺎ‬‫ﺩﺍﺩﻩ‬
‫ﺍﻋﻤﺎﻝ‬‫ﻛﺮﺩﻩ‬‫ﺑﻮﺩ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺟﺪﻭﻝ‬‫ﺍﺻﻠﻲ‬‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.‫ﺷﻴﻲ‬‫ﺍﺻﻠﻲ‬
‫ﻛﻪ‬‫ﺩﺍﺩﻩ‬‫ﻫﺎﻱ‬‫ﺩﺭﻳﺎﻓﺘﻲ‬‫ﺍﺯ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺭﺍ‬‫ﺩﺭ‬‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻬﺪﺍﺭﻱ‬
،‫ﻛﻨﺪ‬‫ﻣﻲ‬‫ﺷﻲ‬DataSet‫ﺍﺳﺖ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
19
‫ﺗﺎ‬‫ﺍ‬‫ﻳﻦ‬‫ﻗﺴﻤﺖ‬‫ﺍﺯ‬‫ﻛﺎﺭ‬‫ﺗﻨﻬﺎ‬‫ﺑﺼﻮﺭﺕ‬‫ﺗﺌﻮﺭﻱ‬‫ﻛﻼﺱ‬‫ﻫﺎﻱ‬‫ﻣﻮﺟﻮﺩ‬‫ﺩﺭ‬ADO.NET‫ﺭﺍ‬‫ﻣﻌﺮﻓﻲ‬‫ﻛﺮﺩﻳﻢ‬.‫ﺩﺭ‬‫ﺍﺩﺍﻣﻪ‬‫ﺑﺎ‬‫ﻃﺮﺍﺣﻲ‬‫ﻭ‬
‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﻳﻚ‬‫ﺩﻓﺘﺮﭼﻪ‬‫ﺗﻠﻔﻦ‬‫ﻣﻄﻤﺌﻦ‬‫ﻣﻲ‬‫ﺷﻮﻳﻢ‬‫ﻛﻪ‬‫ﻧﺤﻮ‬‫ﻩ‬‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺩﻩ‬‫ﺍﺯ‬‫ﺍ‬‫ﻳﻦ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎ‬،‫ﻣﺘﺪﻫﺎ‬،‫ﺧﺎﺻﻴﺖﻫ‬‫ـ‬‫ﺎ‬‫ﻭ‬...‫ﺭﺍ‬‫ﺩﺭ‬‫ﺳﺖ‬‫ﺩﺭﻙ‬
‫ﻛﺮ‬‫ﺍ‬‫ﺩﻩ‬‫ﻳﻢ‬.
‫ﺍ‬‫ﺳﺘﻔﺎ‬‫ﺍﺯ‬ ‫ﺩﻩ‬‫ﻛﻼ‬‫ﺱ‬‫ﻫﺎ‬‫ﻱ‬ADO.NET‫ﺩﺭ‬‫ﻋﻤﻞ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
1
‫ﻫﺮ‬‫ﻓﺮ‬‫ﻡ‬‫ﺩﺍﺭﺍﻱ‬‫ﺷﻴﺌﻲ‬‫ﺍﺯ‬‫ﻧﻮ‬‫ﻉ‬BindingContext‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬
‫ﺍ‬‫ﺗﺼﺎﻻ‬‫ﺕ‬‫ﻛﻨﺘﺮ‬‫ﻝ‬‫ﻫﺎ‬‫ﻱ‬‫ﺩﺭﻭﻥ‬‫ﻓﺮ‬‫ﻡ‬‫ﺭﺍ‬‫ﻣﺪﻳﺮﻳﺖ‬‫ﻣﻲﻛﻨﺪ‬.‫ﺑﻨﺎﺑﺮ‬‫ﺍ‬‫ﻳﻦ‬
‫ﺑﻪ‬‫ﻋﻠﺖ‬‫ﺍ‬‫ﻳﻨﻜﻪ‬‫ﻓﺮ‬‫ﻡ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺷﻤﺎ‬‫ﺑﻪ‬‫ﺻﻮ‬‫ﺭﺕ‬‫ﺩﺭﻭ‬‫ﻧﻲ‬‫ﺩﺍﺭﺍﻱ‬‫ﭼﻨﻴﻦ‬
‫ﺷﻴﺌﻲ‬‫ﺍ‬‫ﺳﺖ‬،‫ﻧﻴﺎ‬‫ﺯﻱ‬‫ﻧﻴﺴﺖ‬‫ﻛﻪ‬‫ﺁﻥ‬‫ﺭﺍ‬‫ﺍ‬‫ﻳﺠﺎ‬‫ﺩ‬‫ﻛﻨﻴﺪ‬.
‫ﺷﻲ‬BindingContext‫ﺩﺭ‬‫ﺣﻘﻴﻘﺖ‬‫ﻳﻚ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﺍﺯ‬
‫ﺍ‬‫ﺷﻴﺎ‬‫ء‬‫ﺍﺯ‬‫ﻧ‬‫ـ‬‫ﻮ‬‫ﻉ‬CurrencyManager‫ﺭﺍ‬‫ﻣ‬‫ـ‬‫ﺪﻳﺮﻳﺖ‬
‫ﻣ‬‫ـ‬‫ﻲﻛﻨ‬‫ـ‬‫ﺪ‬.‫ﻭ‬‫ﻇﻴﻔ‬‫ـ‬‫ﻪ‬‫ﻱ‬CurrencyManager‫ﻧﻴﺰ‬‫ﺍ‬‫ﻳﻦ‬
‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﺑﻴﻦ‬‫ﺗﻤﺎﻡ‬‫ﻛﻨﺘﺮ‬‫ﻝ‬‫ﻫﺎﻳﻲ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬)ً‫ﻼ‬‫ﻣﺜ‬
DataSet(‫ﻣﺘﺼﻞ‬‫ﻫﺴﺘﻨﺪ‬‫ﻫﻤﺎﻫﻨﮕﻲ‬‫ﺑﺮﻗﺮ‬‫ﺍﺭ‬‫ﻛﻨﺪ‬.
CurrencyManager‫ﻭ‬BindingContext
cr = (CurrencyManager)this.BindingContext[ds, "t1"];
CurrencyManager cr;
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
2
‫ﺑﻪ‬‫ﻛﻤﻚ‬‫ﻣﺘﺪ‬Add‫ﺍﺯ‬DataBindings
‫ﻛﻨﺘﺮﻝ‬‫ﻫﺎ‬‫ﺗﻮﺍﻥ‬‫ﻣﻲ‬‫ﺑﺮﺍﻱ‬‫ﺁﻧﻬﺎ‬‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬
‫ﺗﻌﻴﻴﻦ‬‫ﻛﺮﺩ‬.‫ﺷﻜﻞ‬‫ﻛﻠﻲ‬‫ﺍﻳﻦ‬‫ﻣﺘﺪ‬‫ﺑﻪ‬‫ﺷﻜﻞ‬
‫ﺯﻳﺮ‬‫ﺍﺳﺖ‬.
DataBindings
‫ﻭﺭﻭﺩﻱ‬،‫ﺍﻭﻝ‬‫ﻧﺎﻡ‬‫ﺧﺼﻮﺻﻴﺘﻲ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺧﻮﺍﻫﻴﺪ‬‫ﻣﻲ‬‫ﺑﺮﺍﻱ‬‫ﺁﻥ‬‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬‫ﺗﻌﺮﻳﻒ‬‫ﻛﻨﻴﺪ‬.‫ﭘﺎﺭﺍﻣﺘﺮ‬،‫ﺩﻭﻡ‬‫ﻧﺎﻡ‬
DataSet‫ﺟﺎﺭﻱ‬‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬‫ﻭ‬‫ﭘﺎﺭﺍﻣﺘﺮ‬،‫ﺳﻮﻡ‬‫ﻧﺎﻡ‬‫ﺟﺰﺋﻲ‬‫ﺍﺯ‬DataSet‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺧﻮﺍﻫﻴﺪ‬‫ﻣﻲ‬‫ﺑﻪ‬‫ﻋﻨﻮﺍﻥ‬
‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬‫ﺗﻌﺮﻳﻒ‬‫ﻛﻨﻴﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
3
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﺣﺬﻑ‬‫ﺭﻛﻮﺭﺩ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬
‫ﻫﻤﺎﻧﻨﺪ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﻗﺒﻞ‬‫ﺍﺯ‬‫ﺣﺬﻑ‬‫ﺭﻛﻮﺭﺩ‬،‫ﺑﻪ‬‫ﻛﻤﻚ‬‫ﻳﻚ‬
messagebox‫ﺍﺯ‬‫ﻛﺎﺭﺑﺮ‬‫ﺗﺄﻳﻴﺪﻳﻪ‬‫ﺣﺬﻑ‬‫ﺭﻛﻮﺭﺩ‬‫ﻣﺬﻛﻮﺭ‬‫ﺭﺍ‬
‫ﺩﺭﻳﺎﻓﺖ‬‫ﻛﻨﺪ‬.‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
4
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﺩﻓﺘﺮﭼﻪ‬‫ﺗﻠﻔﻦ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮ‬‫ﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺗﺼﻮﻳﺮ‬‫ﻣﺸﺘﺮﻙ‬‫ﺗﻠﻔﻦ‬‫ﺭﺍ‬
‫ﻣﻄﺎﺑﻖ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﺛﺒﺖ‬‫ﻛﻨﺪ‬.‫ﺩﻗﺖ‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﺍﻳﻦ‬‫ﺑﺨﺶ‬‫ﺑﺎﻳﺪ‬‫ﺩﺭ‬‫ﺗﻤﺎﻡ‬‫ﻗﺴﻤﺖ‬‫ﻫﺎﻱ‬
‫ﺑﺮﻧﺎﻣﻪ‬)،‫ﻭﻳﺮﺍﻳﺶ‬،‫ﺣﺬﻑ‬،‫ﺑﻌﺪﻱ‬‫ﻗﺒﻠﻲ‬‫ﻭ‬...(‫ﺩﺭﺳﺖ‬‫ﻛﺎﺭ‬‫ﻛﻨﺪ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
5
‫ﺗﻤﺮﻳﻦ‬:‫ﺑﺮﻧﺎﻣﻪ‬‫ﺩﻓﺘﺮﭼﻪ‬‫ﺗﻠﻔﻦ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻧﺤﻮﻱ‬‫ﺗﻐﻴﻴﺮﺩﻫﻴﺪ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﻛﻠﻴﻚ‬‫ﻛﺮﺩﻥ‬‫ﺑﺮﺭﻭﻱ‬
،‫ﺗﺼﻮﻳﺮ‬‫ﻋﻜﺲ‬‫ﺷﺨﺺ‬‫ﺑﺎ‬‫ﺍﺑﻌﺎﺩ‬‫ﻭﺍﻗﻌﻲ‬‫ﻧﻤﺎﻳﺶ‬‫ﺩﺍﺩﻩ‬‫ﺷﻮﺩ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
6
‫ﺗﻤﺮﻳﻦ‬:‫ﺍﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺑﻨﻮﻳﺴﻴﺪ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﺩﻳﻜﺸﻨﺮﻱ‬‫ﺭﺍ‬‫ﺑﻄﻮﺭ‬‫ﻛﺎﻣﻞ‬‫ﺳﺎﺯﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﻛﻨﺪ‬.‫ﺑﺎﻧﻚ‬
‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺍﻳﻦ‬‫ﺩﻳﻜﺸﻨﺮﻱ‬‫ﺣﺎﻭﻱ‬‫ﻳﻚ‬‫ﺟﺪﻭﻝ‬‫ﺑﻨﺎﻡ‬Words‫ﺑﺎ‬‫ﺷﻜﻞ‬‫ﺯﻳﺮ‬‫ﺍﺳﺖ‬.
‫ﺷﮑﻞ‬ ‫ﺑﻪ‬ ‫ﺩﻳﮑﺸﻨﺮی‬ ‫ﺍﺻﻠﯽ‬ ‫ﻓﺮﻡ‬‫ﻣﻘﺎﺑﻞ‬‫ﺍﺳﺖ‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
• WPF (Windows Presentation Foundation) with C#
• WCF (Windows Communication Foundation) with C#
• WF (Windows Workflow Foundation )
• Socket Programming with C#
• Multithreaded Programming with C#
• Multilayer applications(N-Tier programming) with C#
• ASP.NET MVC Web Application with C#
• LINQ (Language-Integrated Query) with C#
• Programming Entity Framework with C#
• Developing Mobile iOS Applications With Xamarin and C#
• Building Android Apps In C# With Xamarin
‫ﺯﺑﺎﻥ‬ ‫ﺑﺎ‬ ‫ﺍﺩﺍﻣﻪ‬ ‫ﺩﺭ‬ ‫ﺗﻮﺍﻧﻴﺪ‬ ‫ﻣﻲ‬ ‫ﻛﻪ‬ ‫ﻫﺎﻳﻲ‬ ‫ﺗﻜﻨﻮﻟﻮژﻱ‬ ‫ﻣﻌﺮﻓﻲ‬C#
‫ﺑﺒﻴﻨﻴﺪ‬ ‫ﺁﻣﻮﺯﺵ‬.‫ﺑﺎﺷﺪ‬ ‫ﻣﻲ‬ ‫ﺗﺨﺼﺺ‬ ‫ﻳﻚ‬ ‫ﺷﺪﻩ‬ ‫ﻣﻌﺮﻓﻲ‬ ‫ﻋﻨﻮﺍﻥ‬ ‫ﻫﺮ‬.
‫ﺷﻤﺎ‬ ‫ﭘﻴﺸﻨﻬﺎﺩ‬‫ﺗﻬﻴﻪ‬ ‫ﺑﺮﺍﻱ‬‫ﺁﻣﻮﺯﺵ‬:
‫ﺍﮔﺮ‬‫ﻫﺮ‬‫ﻳﻚ‬‫ﺍﺯ‬‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﻫﺎﻱ‬‫ﻣﻌﺮﻓﻲ‬
‫ﺷﺪﻩ‬‫ﺩﺭ‬‫ﺍﻳﻦ‬‫ﺑﺨﺶ‬‫ﺭﺍ‬‫ﻣﻨﺎﺳﺐ‬
‫ﻓﻌﺎﻟﻴﺘﻬﺎﻱ‬‫ﺁﻳﻨﺪﻩ‬‫ﺧﻮﺩ‬،‫ﺩﻳﺪﻳﺪ‬
‫ﺗﻮﺍﻧﻴﺪ‬‫ﻣﻲ‬‫ﺩﺭﺧﻮﺍﺳﺖ‬‫ﺗﻬﻴﻪ‬‫ﺁﻥ‬‫ﺭﺍ‬‫ﺍﺯ‬
‫ﻃﺮﻳﻖ‬‫ﺁﺩﺭﺱ‬‫ﺯﻳﺮ‬‫ﻣﻄﺮﺡ‬‫ﻧﻤﺎﻳﻴﺪ‬.‫ﻣﺎ‬
‫ﺑﺮ‬‫ﺣﺴﺐ‬‫ﻣﻴﺰﺍﻥ‬‫ﺩﺭﺧﻮﺍﺳﺖ‬،‫ﻫﺎ‬‫ﺍﻧﺘﺸﺎﺭ‬
‫ﺁﻧﻬﺎ‬‫ﺭﺍ‬‫ﭘﻴﮕﻴﺮﻱ‬‫ﺧﻮﺍﻫﻴﻢ‬‫ﻛﺮﺩ‬.
‫ﻣﺪﺭﺱ‬:‫ﻣﻬﻨﺪﺱ‬‫ﺭﺷﻴﺪ‬‫ﺷﺠﺎﻋﻲ‬
http://faradars.org/course-request/
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
‫ﻣﺪﺭﺱ‬ ‫ﺑﺎ‬ ‫ﺍﺭﺗﺒﺎﻃﻲ‬ ‫ﻫﺎﻱ‬ ‫ﺭﺍﻩ‬:
‫ﻣﺪﺭﺱ‬:‫ﺭﺷﻴﺪ‬ ‫ﻣﻬﻨﺪﺱ‬‫ﺷﺠﺎﻋﻲ‬
‫ﻛﺘﺎﺏ‬»‫ﺁﻣﻮﺯﺵ‬‫ﺩﺭ‬ ‫ﻭﻳﮋﻩ‬ ‫ﻣﺒﺎﺣﺚ‬C#.Net/‫ﻣﻮﻟﻔﻴﻦ‬
‫ﻧﮕﺎﺭ‬ ،‫ﺷﺠﺎﻋﻲ‬ ‫ﺭﺷﻴﺪ‬‫ﺑﺮﺍﻫﻮﻳﻲ‬«
‫ﺁﻣﻮﺯﺵ‬ ‫ﻣﻨﺒﻊ‬:
‫ﻓﺮﻭﺷﮕﺎﻩ‬‫ﺗﻬﺮﺍﻥ‬:‫ﺗﻬﺮﺍﻥ‬‫ﻣﻴﺪﺍﻥ‬،‫ﺍﻧﻘﻼﺏ‬‫ﺭﻭﺑﺮﻭﻱ‬‫ﺳﻴﻨﻤﺎ‬،‫ﺑﻬﻤﻦ‬‫ﻧﺒﺶ‬
‫ﭘﺎﺳﺎژ‬،‫ﺍﻧﺪﻳﺸﻪ‬‫ﻛﺘﺎﺏ‬‫ﺩﻫﺨﺪﺍ‬.‫ﺗﻠﻔﻦ‬:09122102835)‫ﺟﻬﺖ‬‫ﺳﻔﺎﺭﺵ‬‫ﻋﻤﺪﻩ‬(
‫ﻓﺮﻭﺷﮕﺎﻩ‬‫ﻛﺮﺝ‬:‫ﻛﺮﺝ‬‫ﺭﺟﺎﻳﻲ‬‫ﺷﻬﺮ‬‫ﺭﻭﺑﺮﻭﻱ‬‫ﺩﺭﺏ‬‫ﺩﺍﻧﺸﮕﺎﻩ‬‫ﺁﺯﺍﺩ‬
،‫ﺍﺳﻼﻣﻲ‬‫ﻛﺘﺎﺏ‬‫ﻓﺮﻭﺷﻲ‬‫ﺧﻮﺍﺭﺯﻣﻲ‬‫ﻭ‬‫ﺍﻳﺮﺍﻥ‬
‫ﻛﺘﺎﺏ‬ ‫ﺗﻮﺯﻳﻊ‬ ‫ﻣﺮﺍﻛﺰ‬:
Web Page: http://kiau.ac.ir/~shojaei
Email: Shojaei@kiau.ac.ir
Email:Rashid.Shojaei@gmail.com
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
WF (Windows Workflow Foundation )
Windows Workflow Foundation‫ﻳﺎ‬WF‫ﺑﺮﺍﻱ‬‫ﭘﺸﺘﻴﺒﺎﻧﻲ‬‫ﺍﺯ‬Workflow‫ﺍﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬.WF‫ﻛﻤﻚ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﻫﺮ‬‫ﻛﺪﺍﻡ‬‫ﺍﺯ‬‫ﻫﺎﻱ‬‫ﺗﻜﻪ‬‫ﺧﻴﻠﻲ‬‫ﺑﺰﺭگ‬‫ﺍﻓﺰﺍﺭ‬‫ﻧﺮﻡ‬‫ﺑﻪ‬‫ﻳﻚ‬
Activity‫ﺗﺒﺪﻳﻞ‬‫ﺷﻮﺩ‬.‫ﺍﻳﻦ‬‫ﻫﺎ‬‫ﺗﻜﻪ‬ً‫ﺍ‬‫ﺑﻌﺪ‬‫ﺩﺭ‬‫ﻗﺎﻟﺐ‬‫ﻳﻚ‬Workflow‫ﺑﺎ‬‫ﻫﻢ‬‫ﺍﺭﺗﺒﺎﻁ‬‫ﭘﻴﺪﺍ‬‫ﻛﻨﻨﺪ‬‫ﻣﻲ‬.
ً‫ﺎ‬‫ﻧﻬﺎﻳﺘ‬‫ﺍﻳﻦ‬Workflow‫ﺩﺭ‬‫ﺟﺎﻳﻲ‬host‫ﺷﺪﻩ‬‫ﻭ‬‫ﺗﻮﺳﻂ‬WF Runtime‫ﺷﺮﻭﻉ‬‫ﺑﻪ‬‫ﺍﺟﺮﺍ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.
WF‫ﻣﺪﻋﻲ‬‫ﺍ‬‫ﺳﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻧﻮﻳﺴﺎﻥ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺍﻣﻜﺎﻥ‬‫ﺩﻫﺪ‬‫ﻣﻲ‬‫ﺗﺎ‬‫ﻫﺎ‬‫ﺑﺨﺶ‬‫ﻱ‬‫ﻣﺨﺘﻠﻒ‬Workflow‫ﺭﺍ‬‫ﺑﻪ‬‫ﻃﻮﺭ‬
‫ﻣﻮﺍﺯﻱ‬‫ﻭ‬‫ﺩﺭ‬‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎﻱ‬‫ﻣﺨﺘﻠﻒ‬‫ﺑﻪ‬‫ﺍﺟﺮﺍ‬‫ﺩﺭﺁﻭﺭﻧﺪ‬.‫ﺩﺭ‬‫ﻭﺍﻗﻊ‬‫ﺷﻌﺎﺭ‬WF‫ﻧﻮﺷﺘﻦ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﺑﺰﺭﮔﻲ‬
‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﺭﺍﺣﺘﻲ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻛﻮﭼﻚ‬‫ﻗﺎﺑﻞ‬‫ﺗﻮﺳﻌﻪ‬‫ﻭ‬‫ﻧﮕﻬﺪﺍﺭﻱ‬‫ﻫﺴﺘﻨﺪ‬.
‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭ‬SharePoint‫ﻭ‬‫ﺳﺎﻳﺮ‬‫ﻣﺤﺼﻮﻻﺕ‬‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻛﻪ‬‫ﻣﺮﺗﺒﻂ‬‫ﺑﺎ‬‫ﮔﺮﺩﺵ‬‫ﻛﺎﺭ‬‫ﻣﻲ‬‫ﺑﺎﺷﻨﺪ‬‫ﺍﺯ‬
‫ﻳﻚ‬‫ﺯﻳﺮﺳﺎﺧﺖ‬‫ﻣﺸﺘﺮﻙ‬‫ﺟﻬﺖ‬‫ﻣﺪﻳﺮﻳﺖ‬‫ﮔﺮﺩﺵ‬‫ﻛﺎﺭ‬‫ﺑﺎ‬‫ﻧﺎﻡ‬Windows Workflow
Foundation‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻣﻲ‬‫ﻛﻨﻨﺪ‬WF .‫ﻳﻚ‬‫ﭼﻬﺎﺭﭼﻮﺏ‬‫ﺟﻬﺖ‬‫ﺗﻮﻟﻴﺪ‬‫ﮔﺮﺩﺵ‬‫ﻛﺎﺭﻫﺎﻱ‬
‫ﺳﻴﺴﺘﻤﻲ‬‫ﻭ‬‫ﻳﺎ‬‫ﺍﻧﺴﺎﻧﻲ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺷﺎﻣﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﺍﻱ‬‫ﺍ‬‫ﺯ‬API،‫ﻫﺎ‬‫ﻣﻮﺗﻮﺭ‬‫ﮔﺮﺩﺵ‬‫ﻛﺎﺭ‬‫ﺩﺭﻭﻥ‬،‫ﻓﺮﺍﻳﻨﺪﻱ‬‫ﻭ‬
‫ﻣﺤﻴﻂ‬‫ﻃﺮﺍﺣﻲ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.‫ﮔﺮﺩﺵ‬‫ﻛﺎﺭ‬‫ﺷﺎﻣﻞ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﺍﻱ‬‫ﺍﺯ‬‫ﺍﺟﺰﺍ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﺩﺭ‬WF‫ﺑﻪ‬‫ﻫﺮ‬‫ﻳﻚ‬
‫ﺍﺯ‬‫ﺍﻳﻦ‬‫ﺍﺟﺰﺍ‬‫ﻓﻌﺎﻟﻴﺖ‬(Activity)‫ﮔﻔﺘﻪ‬‫ﻣﻲ‬‫ﺷﻮﺩ‬.‫ﻣﺎﻳﻜﺮﻭﺳﺎﻓﺖ‬‫ﻛﺘﺎﺑﺨﺎﻧﻪ‬‫ﺍﻱ‬‫ﺍﺯ‬‫ﻓﻌﺎﻟﻴﺖ‬‫ﻫﺎ‬‫ﺭﺍ‬‫ﺩﺭ‬
.Net Framework‫ﺍﻳﺠﺎﺩ‬‫ﻛﺮﺩﻩ‬‫ﻭ‬‫ﺍﻣﻜﺎﻥ‬‫ﺗﻮﺳﻌﻪ‬‫ﻓﻌﺎﻟﻴﺖ‬‫ﻫﺎﻱ‬‫ﺷﺨﺼﻲ‬‫ﺭﺍ‬‫ﻧﻴﺰ‬‫ﻓﺮﺍﻫﻢ‬‫ﻛﺮﺩﻩ‬
‫ﺍﺳﺖ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Developing Mobile iOS Applications With Xamarin
and C#
Xamarin‫ﺭﺍ‬‫ﻣﻴﺘﻮﺍﻥ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺍﺑﺰﺍﺭ‬‫ﺗﻮﺳﻌﻪ‬‫ﺍﻧﺪﺭﻭﻳﺪ‬‫ﺑﺎ‬‫ﭘﺎﻳﺘﻮﻥ‬‫ﺩﺍﻧﺴﺖ‬.‫ﺑﺎ‬‫ﺍﻳﻦ‬
Framework‫ﻣﻴﺘﻮﺍﻥ‬‫ﺑﻪ‬‫ﺯﺑﺎﻧﻬﺎﻱ‬C#‫ﺑﺮﺍﻱ‬‫ﺍﻧﺪﺭﻭﻳﺪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﻛﺮﺩ‬.
Xamarin‫ﻳﻚ‬‫ﺷﺮﻛﺖ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭﻱ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺗﻮﺳﻂ‬‫ﻣﻬﻨﺪﺳﺎﻥ‬Mono،
MonoTuch،Mono for Android‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪ‬.Xamarin‫ﻫﻢ‬‫ﺩﺭ‬CLI
‫ﺍﺟﺮﺍ‬‫ﻣﻴﺸﻮﺩ‬‫ﻭ‬‫ﻫﻢ‬‫ﺩﺭ‬‫ﻣﺤﻴﻂ‬Visual Studio.‫ﺩﺭ‬‫ﺣﺎﻝ‬‫ﺣﺎﺿﺮ‬Xamarin‫ﺑﻪ‬
Visual Studio 2015‫ﺍﻓﺰﻭﺩﻩ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬.‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Building Android Apps In C# With
Xamarin
‫ﺗﺼﺎﻭﻳﺮﻱ‬‫ﺍﺯ‬Emulator‫ﺍﻧﺪﺭﻭﻳﺪ‬‫ﻛﻪ‬‫ﺑﺮﺍﻱ‬‫ﺑﺮﺍﻱ‬‫ﺗﺴﺖ‬‫ﻭ‬‫ﺩﻳﺒﺎگ‬‫ﻛﺮﺩﻥ‬
‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﻧﻮﺷﺘﻪ‬‫ﺷﺪﻩ‬‫ﺟﻬﺖ‬‫ﺳﻴﺴﺘﻢ‬‫ﻋﺎﻣﻞ‬Android.‫ﺍﻳﻦ‬‫ﺷﺒﻴﻪ‬
‫ﺳﺎﺯ‬‫ﻫﻤﺮﺍﻩ‬‫ﻧﺼﺐ‬Visual Studio 2015‫ﻧﺼﺐ‬‫ﻣﻲ‬‫ﺷﻮﺩ‬.
Xamarin‫ﺭﺍ‬‫ﻣﻴﺘﻮﺍﻥ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺍﺑﺰﺍﺭ‬‫ﺗﻮﺳﻌﻪ‬‫ﺍﻧﺪﺭﻭﻳﺪ‬‫ﺑﺎ‬‫ﭘﺎﻳﺘﻮﻥ‬‫ﺩﺍﻧﺴﺖ‬.‫ﺑﺎ‬‫ﺍﻳﻦ‬
Framework‫ﻣﻴﺘﻮﺍﻥ‬‫ﺑﻪ‬‫ﺯﺑﺎﻧﻬﺎﻱ‬C#‫ﺑﺮﺍﻱ‬‫ﺍﻧﺪﺭﻭﻳﺪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﻛﺮﺩ‬.
Xamarin‫ﻳﻚ‬‫ﺷﺮﻛﺖ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭﻱ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺗﻮﺳﻂ‬‫ﻣﻬﻨﺪﺳﺎﻥ‬Mono،
MonoTuch،Mono for Android‫ﺍﻳﺠﺎﺩ‬‫ﺷﺪ‬.Xamarin‫ﻫﻢ‬‫ﺩﺭ‬
CLI‫ﺍﺟﺮﺍ‬‫ﻣﻴﺸﻮﺩ‬‫ﻭ‬‫ﻫﻢ‬‫ﺩﺭ‬‫ﻣﺤﻴﻂ‬Visual Studio.‫ﺩﺭ‬‫ﺣﺎﻝ‬‫ﺣﺎﺿﺮ‬
Xamarin‫ﺑﻪ‬Visual Studio 2015‫ﺍﻓﺰﻭﺩﻩ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
Programming Entity Framework
‫ﻗﺒﻞ‬‫ﺍﺯ‬‫ﺍﻳﻦ‬‫ﻛﻪ‬‫ﺑﺨﻮﺍﻫﻴﻢ‬‫ﺑﺎ‬Entity Framework‫ﺁﺷﻨﺎ‬،‫ﺷﻮﻳﻢ‬‫ﺑﻬﺘﺮ‬‫ﺍﺳﺖ‬‫ﻣﻔﻬﻮﻡ‬
ORM‫ﺭﺍ‬‫ﺑﺪﺍﻧﻴﻢ‬.ORM‫ﻳﺎ‬Object Relational Mapping‫ﺍﺑﺰﺍﺭﻱ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬
‫ﻭﺳﻴﻠﻪ‬‫ﺁﻥ‬‫ﻣﻲ‬‫ﺗﻮﺍﻥ‬‫ﺟﺪﺍﻭﻝ‬‫ﭘﺎﻳﮕﺎﻩ‬‫ﺩﺍﺩﻩ‬‫ﺭﺍ‬‫ﭘﺮﺩﺍﺯﺵ‬‫ﻛﺮﺩ‬‫ﻭ‬‫ﺁﻧﻬﺎ‬‫ﺭﺍ‬‫ﺑﻪ‬‫ﻓﺮﻣﺖ‬‫ﺷﻲء‬‫ﻧﮕﺎﺷﺖ‬
‫ﻛﺮﺩ‬‫ﻛﻪ‬‫ﺩﺭ‬‫ﻛﺪﻧﻮﻳﺴﻲ‬‫ﺧﻮﺍﻧﺎﺗﺮ‬‫ﺑﺎﺷﻨﺪ‬.‫ﺩﺭ‬‫ﻛﺪﻧﻮﻳﺴﻲ‬‫ﺑﻪ‬‫ﺟﺎﻱ‬‫ﺍﻳﻦ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﺻﻮﺭﺕ‬‫ﻣﺴﺘﻘﻴﻢ‬‫ﺑﺎ‬
‫ﺟﺪﺍﻭﻝ‬‫ﭘﺎﻳﮕﺎﻩ‬‫ﺩﺍﺩﻩ‬‫ﻛﺎﺭ‬‫ﻛﻨﻴﻢ‬‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺍﺷﻴﺎء‬‫ﻛﺎﺭ‬‫ﻣﻲ‬‫ﻛﻨﻴﻢ‬.‫ﺑﻪ‬‫ﺍﻳﻦ‬‫ﺍﺷﻴﺎء‬‫ﻣﻮﺟﻮﺩﻳﺖ‬‫ﻳﺎ‬
Entity‫ﮔﻔﺘﻪ‬‫ﻣﻲ‬‫ﺷﻮﺩ‬.
Entity Framework‫ﻳﻚ‬ORM‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺗﻮﺳﻂ‬‫ﺷﺮﻛﺖ‬Microsoft‫ﺗﻮﺳﻌﻪ‬
‫ﺩﺍﺩﻩ‬‫ﻣﻴﺸﻮﺩ‬.
‫ﺩﺭﻭﺍﻗﻊ‬Entity Framework‫ﺗﻜﻨﻮﻟﻮژﻱ‬‫ﺗﻮﺳﻌﻪ‬‫ﻳﺎﻓﺘﻪ‬ADO.Net‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﻓﺎﺻﻠﻪ‬
‫ﺑﻴﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺷﻲ‬‫ﮔﺮﺍ‬‫ﻭ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺭﺍﺑﻄﻪ‬‫ﺍﻱ‬‫ﺭﺍ‬‫ﭘﺮ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.‫ﺍﻳﻦ‬‫ﻓﺎﺻﻠﻪ‬ً‫ﻻ‬‫ﻣﻌﻤﻮ‬
‫ﺗﺤﺖ‬‫ﻋﻨﻮﺍﻥ‬‫ﻋﺪﻡ‬‫ﺗﻄﺎﺑﻖ‬‫ﺷﻨﺎﺧﺘﻪ‬‫ﻣﻲ‬‫ﺷﻮﺩ‬.‫ﻭ‬‫ﻳﻚ‬‫ﺗﻜﻨﻴﻚ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺑﺮﺍﻱ‬‫ﺗﺒﺪﻳﻞ‬
‫ﺍﺭﺗﺒﺎﻃﺎﺕ‬‫ﺩﺭ‬Database‫ﺑﻪ‬‫ﻣﻔﺎﻫﻴﻢ‬Object Oriented‫ﺩﺭ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺍﺳﺖ‬.‫ﺩﺭ‬
‫ﻭﺍﻗﻊ‬‫ﺗﻮﺍﻥ‬‫ﻣﻲ‬‫ﮔﻔﺖ‬‫ﻛﻪ‬‫ﺱ‬‫ﻛﻼ‬‫ﻫﺎ‬‫ﺭﺍ‬‫ﺑﻪ‬Table‫ﻫﺎ‬map‫ﻛﻨﺪ‬‫ﻣﻲ‬.‫ﻭﻗﺘﻲ‬‫ﻛﻪ‬‫ﺷﻤﺎ‬‫ﺧﻮﺍﻫﻴﺪ‬‫ﻣﻲ‬
‫ﺑﻪ‬Database‫ﺩﺳﺘﺮﺳﻲ‬‫ﭘﻴﺪﺍ‬،‫ﻛﻨﻴﺪ‬‫ﻳﺎ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺭﺍ‬‫ﺫﺧﻴﺮﻩ‬،‫ﻛﻨﻴﺪ‬‫ﺍﻳﻦ‬‫ﻛﺎﺭﻫﺎ‬‫ﺭﺍ‬ً‫ﺎ‬‫ﻣﺴﺘﻘﻴﻤ‬
‫ﺑﺮ‬‫ﺭﻭﻱ‬‫ﺍﺷﻴﺎء‬)Object(‫ﺍﻧﺠﺎﻡ‬‫ﺩﻫﻴﺪ‬‫ﻣﻲ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
LINQ (Language-Integrated Query)
‫ﻫﺪﻑ‬‫ﺍﺯ‬‫ﺍﺑﺪﺍﻉ‬‫ﻓ‬‫ﻨﺎﻭﺭﻱ‬LINQ،‫ﺍﺭﺍﺋﻪ‬‫ﺗﺴﻬﻴﻼﺕ‬‫ﻻﺯﻡ‬‫ﺑﺮﺍﻱ‬‫ﭘﻴﺎﺩﻩ‬‫ﻛﻨﻨﺪﮔﺎﻥ‬‫ﺟﻬﺖ‬‫ﻛﺎﺭ‬‫ﺑﺎ‬‫ﺩﺍﺩﻩ‬‫ﺩﺭ‬
‫ﺑﺎﻧﻚ‬‫ﻫﺎﻱ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬SQL‫ﻭ‬XML‫ﻋﻨﻮﺍﻥ‬‫ﺷﺪﻩ‬‫ﺍﺳﺖ‬.‫ﺩﺭ‬،‫ﻭﺍﻗﻊ‬‫ﻭﺟﻮﺩ‬‫ﻳﻚ‬‫ﺣﻠﻘﻪ‬‫ﮔﻤﺸﺪﻩ‬‫ﺑﻴﻦ‬
‫ﺩﺍﺩﻩ‬‫ﺭﺍﺑﻄﻪ‬‫ﺍﻱ‬)‫ﺑﺎﻧﻚ‬‫ﻫﺎﻱ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬(،‫ﺍﺳﻨﺎﺩ‬XML‫ﺑﺎ‬‫ﺯﺑﺎﻥ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬،‫ﻧﻮﻳﺴﻲ‬‫ﺿﺮﻭﺭﺕ‬‫ﺍﺑﺪﺍﻉ‬
‫ﻓﻨﺎﻭﺭﻱ‬‫ﻓﻮﻕ‬‫ﺭﺍ‬‫ﺗﻮﺟﻴﻪ‬‫ﻛﺮﺩﻩ‬‫ﺑﻮﺩ‬.‫ﭘﻴﺎﺩﻩ‬‫ﻛﻨﻨﺪﮔﺎﻥ‬‫ﻣﺠﺒﻮﺭ‬‫ﺑﻮﺩﻧﺪ‬‫ﺑﺮﺍﻱ‬‫ﻛﺎﺭ‬‫ﺑﺎ‬‫ﻫﺮ‬‫ﻳﻚ‬‫ﺍﺯ‬‫ﻣﻨﺎﺑﻊ‬،‫ﺩﺍﺩﻩ‬
‫ﺍﺯ‬‫ﺭﻭﺵ‬‫ﻫﺎﻱ‬‫ﻣﺨﺘﻠﻔﻲ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻧﻤﺎﻳﻨﺪ‬.LINQ‫ﺭﺍ‬‫ﻣﻲ‬‫ﺗﻮﺍﻥ‬‫ﺑﻪ‬‫ﻣﻨﺰﻟﻪ‬‫ﺣﻠﻘﻪ‬‫ﺍﻱ‬‫ﮔﻤﺸﺪﻩ‬‫ﺑﻴﻦ‬
‫ﺩﻧﻴﺎﻱ‬‫ﺩﺍﺩﻩ‬‫ﻭ‬‫ﺯﺑﺎﻥ‬‫ﻫﺎﻱ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﻫﻤﻪ‬‫ﻣﻨﻈﻮﺭﻩ‬‫ﺗﺼﻮﺭ‬‫ﻛﺮﺩ‬.‫ﺑﺎ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬LINQ‫ﺍﻣﻜﺎﻥ‬
‫ﺩﺳﺘﻴﺎﺑﻲ‬‫ﺑﻪ‬‫ﺩﺍﺩﻩ‬‫ﺻﺮﻑ‬‫ﻧﻈﺮ‬‫ﺍﺯ‬‫ﻧﻮﻉ‬،‫ﺩﺍﺩﻩ‬‫ﺑﺎ‬‫ﺭﻭﺷﻲ‬‫ﻣﺸﺎﺑﻪ‬‫ﻭ‬‫ﻳﻜﺴﺎﻥ‬‫ﻓﺮﺍﻫﻢ‬‫ﻣﻲ‬‫ﮔﺮﺩﺩ‬.
‫ﭘﻴﺎﺩﻩ‬‫ﻛﻨﻨﺪﮔﺎﻥ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭ‬‫ﺩﺭ‬‫ﺯﻣﺎﻥ‬‫ﻧﻮﺷﺘﻦ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻫﺎﻱ‬‫ﺧﻮﺩ‬ً‫ﻻ‬‫ﻣﻌﻤﻮ‬‫ﺍﺯ‬‫ﺩﻭ‬‫ﺯﺑﺎﻥ‬‫ﻣﺨﺘﻠﻒ‬‫ﺟﻬﺖ‬
‫ﺭﺳﻴﺪﻥ‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﻫﺪﻑ‬‫ﻣﺸﺘﺮﻙ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻣﻲ‬‫ﻧﻤﺎﻳﻨﺪ‬.‫ﻣﺎ‬‫ﺑﺮﺍﻱ‬‫ﻧﻮﺷﺘﻦ‬‫ﻛﺪﻫﺎ‬‫ﺍﺯ‬‫ﻳﻚ‬‫ﺯﺑﺎﻥ‬‫ﺑﺮﻧﺎﻣﻪ‬
‫ﻧﻮﻳﺴﻲ‬‫ﻧﻈﻴﺮ‬VB.NET‫ﻭ‬‫ﻳﺎ‬#C‫ﻭ‬‫ﺑﺮﺍﻱ‬‫ﮔﻔﺘﮕﻮ‬‫ﺑﺎ‬‫ﺳﻴﺴﺘﻢ‬‫ﺑﺎﻧﻚ‬‫ﺍﻃﻼﻋﺎﺗﻲ‬‫ﺍﺯ‬‫ﻳﻚ‬‫ﺯﺑﺎﻥ‬‫ﺩﻳﮕﺮ‬
‫ﻧﻈﻴﺮ‬SQL‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﻣﻲ‬‫ﻛﻨﻴﻢ‬.
LINQ‫ﻳﻚ‬‫ﻓﻨﺎﻭﺭﻱ‬‫ﻗﺪﺭﺗﻤﻨﺪ‬‫ﺩﺭ‬‫ﺯﻣﺎﻥ‬‫ﻛﺎﺭ‬‫ﺑﺎ‬‫ﺩﺍﺩﻩ‬‫ﺍﺳﺖ‬‫ﻛﻪ‬‫ﺩﺳﺘﺎﻭﺭﺩﻫﺎﻱ‬‫ﻣﺘﻌﺪﺩﻱ‬‫ﺩﺍﺭﺩ‬:
•‫ﺭﻭﺷﻲ‬‫ﺳﺎﺩﻩ‬‫ﺟﻬﺖ‬‫ﻧﻮﺷﺘﻦ‬query
•‫ﺗﺴﺮﻳﻊ‬‫ﺩﺭ‬‫ﭘﻴﺎﺩﻩ‬‫ﺳﺎﺯﻱ‬‫ﻧﺮﻡ‬‫ﺍﻓﺰﺍﺭ‬‫ﺑﺎ‬‫ﺗﻮﺟﻪ‬‫ﺑﻪ‬‫ﺣﺬﻑ‬‫ﺧﻄﺎﻫﺎﻱ‬‫ﺯﻣﺎﻥ‬‫ﺍﺟﺮﺍء‬
•‫ﺍﻣﻜﺎﻥ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﺍﻣﻜﺎﻧﺎﺗﻲ‬‫ﻧﻈﻴﺮ‬‫ﺍﺷﻜﺎﻝ‬‫ﺯﺩﺍﺋﻲ‬‫ﻭ‬IntelliSense‫ﺩﺭ‬‫ﺯﻣﺎﻥ‬‫ﭘﻴﺎﺩﻩ‬‫ﺳﺎﺯﻱ‬
•‫ﺣﺬﻑ‬‫ﺧﻼء‬‫ﻣﻮﺟﻮﺩ‬‫ﺑﻴﻦ‬‫ﺩﺍﺩﻩ‬‫ﺭﺍﺑﻄﻪ‬‫ﺍﻱ‬‫ﻭ‬‫ﭘﻴﺎﺩﻩ‬‫ﺳﺎﺯﻱ‬‫ﺷﻲ‬‫ﮔﺮﺍء‬
•‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺍﺯ‬‫ﻳﻚ‬‫ﮔﺮﺍﻣﺮ‬‫ﻳﻜﺴﺎﻥ‬‫ﺟﻬﺖ‬‫ﻧﻮﺷﺘﻦ‬query‫ﺻﺮﻓﻨﻈﺮ‬‫ﺍﺯ‬‫ﻧﻮﻉ‬‫ﻣﻨﺒﻊ‬‫ﺩﺍﺩﻩ‬
•‫ﺍﻓﺰﺍﻳﺶ‬‫ﺑﺎﺯﺩﻫﻲ‬‫ﻭ‬‫ﺭﺍﻧﺪﻣﺎﻥ‬‫ﺑﺮﻧﺎﻣﻪ‬،‫ﻧﻮﻳﺴﻲ‬‫ﭼﺮﺍ‬‫ﻛﻪ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﺎﻥ‬‫ﺍﺯ‬‫ﻳﻚ‬‫ﺭﻭﻳﻜﺮﺩ‬‫ﻳﻜﺴﺎﻥ‬‫ﺑﺮﺍﻱ‬‫ﻧﻮﺷﺘﻦ‬query‫ﻭ‬‫ﺑﻬﻨﮕﺎﻡ‬
‫ﺳﺎﺯﻱ‬‫ﺩﺍﺩﻩ‬‫ﺍﺯ‬‫ﻃﺮﻳﻖ‬‫ﺯﺑﺎﻥ‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮﻳﺴﻲ‬‫ﺍﺳﺘﻔﺎﺩﻩ‬‫ﺧﻮﺍﻫﻨﺪ‬‫ﻛﺮﺩ‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
(‫ﺷﺎرپ‬ ‫)ﺳﯽ‬ #C ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮدی‬ ‫ﻫﺎی‬ ‫آﻣﻮزش‬ ‫ﻣﺠﻤﻮﻋﻪ‬
faradars.org/fvcs9311
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)
مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

More Related Content

More from faradars

آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمآموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومآموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومfaradars
 
آموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمآموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمfaradars
 
آموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومآموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومfaradars
 
آموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمآموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمfaradars
 
آموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومآموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومfaradars
 
آموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمآموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمfaradars
 
آموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمآموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمfaradars
 
آموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولآموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولfaradars
 
آموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمآموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمfaradars
 
آموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمآموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمfaradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...faradars
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)faradars
 

More from faradars (20)

آموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجمآموزش ذخیره و بازیابی اطلاعات - درس پنجم
آموزش ذخیره و بازیابی اطلاعات - درس پنجم
 
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارمآموزش ذخیره و بازیابی اطلاعات - درس چهارم
آموزش ذخیره و بازیابی اطلاعات - درس چهارم
 
آموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سومآموزش ذخیره و بازیابی اطلاعات - درس سوم
آموزش ذخیره و بازیابی اطلاعات - درس سوم
 
آموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دومآموزش ذخیره و بازیابی اطلاعات - درس دوم
آموزش ذخیره و بازیابی اطلاعات - درس دوم
 
آموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکمآموزش ذخیره و بازیابی اطلاعات - درس یکم
آموزش ذخیره و بازیابی اطلاعات - درس یکم
 
آموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سومآموزش ترمودینامیک ۲ بخش سوم
آموزش ترمودینامیک ۲ بخش سوم
 
آموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتمآموزش ترمودینامیک ۲ بخش هشتم
آموزش ترمودینامیک ۲ بخش هشتم
 
آموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دومآموزش ترمودینامیک ۲ بخش دوم
آموزش ترمودینامیک ۲ بخش دوم
 
آموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتمآموزش ترمودینامیک ۲ بخش هفتم
آموزش ترمودینامیک ۲ بخش هفتم
 
آموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششمآموزش ترمودینامیک ۲ بخش ششم
آموزش ترمودینامیک ۲ بخش ششم
 
آموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اولآموزش ترمودینامیک ۲ بخش اول
آموزش ترمودینامیک ۲ بخش اول
 
آموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجمآموزش ترمودینامیک ۲ بخش پنجم
آموزش ترمودینامیک ۲ بخش پنجم
 
آموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارمآموزش ترمودینامیک ۲ بخش چهارم
آموزش ترمودینامیک ۲ بخش چهارم
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
آموزش نرم افزار Comsol Multiphysics برای تحلیل مسائل مکانیک سیالات و جامدات ب...
 
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
آموزش کنترلرهای تطبیقی خود تنظیم با متلب بخش سوم (الف)
 

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)