تبليغاتX
عمومي


عمومي

مطالبی در مورد سخت افزار و نرم افزار کامپیوتر _ویروس ها وامنیت _ویندوز_مطالب متفرقه

زلیلی می شنیدم یا علی گفت
به مجنون چون رسیدم یا علی گفت

مگر این وادی دارالجنون است
که هر دیوانه دیدم یا علی گفت
نوشته شده توسط maryam در دوشنبه بیست و چهارم تیر 1387

لينك مطلب

 به نام خدا

با عرض سلام و ادب
براي شركت در سومين طرح ختم صلوات 110 روزه به نيت سلامتي و تعجيل در فرج آقا امام زمان(عج) از لينك زير استفاده نماييد.

اي غائب از نظر به خدا مي سپارمت
                                                 جانم بسوختي و به دل دوست دارمت

http://www.bachehayeghalam.ir/linkdump/008771.php

نوشته شده توسط maryam در پنجشنبه دوم خرداد 1387

لينك مطلب

 

ميكروهاي AVR داراي انعطاف پذيري غير قابل مقايسه و بي همتايي هستند.آنها قادر به تركيب هر نوع كدي با يك معماري كارامد از طريق زبانهاي C و Assembly هستند و قادرند از طريق اين برنامه ها تمام پارامترهاي ممكن در يك سيكل يا چرخه ماشين را با دقت بسيار بالا هماهنگ كنند.ميكرو AVR داراي معماريي است كه ميتواند در تمام جهات مورد استفاده شما،عمل كند ميكرو AVR معماريي دارد كه براي شما كارايي 16 بيتي ارائه مي دهد كه البته قيمتش به اندازه يك 8 بيتي تمام مي شود.

 بهره هاي كليدي AVR :

داراي بهترين MCU براي حافظه فلش در جهان ! (MCU: Master Control Unit)

داراي سيستمي با بهترين هماهنگي

داراي بالاترين كارايي و اجرا در CPU (يك دستورالعمل در هر سيكل كلاك)

داراي كدهايي با كوچكترين سايز

داراي حافظه خود برنامه ريز

داراي واسطه JTAG كه با IEEE 1149.1 سازگار است

 (IEEE: Institute of Electrical and Electronics Engineers.)

داراي سخت افزار ضرب كننده روي خود

داراي بهترين ابزارها براي پيشرفت و ترقي

داراي حالات زيادي براي ترفيع دادن يا Upgrade .

 واژگان كليدي AVR :

 ميكرو كنترلر AVR به منظور اجراي دستورالعملهاي قدرتمند در يك سيكل كلاك(ساعت) به اندازه كافي سريع است و مي تواند براي شما آزادي عملي را كه احتياج داريد به منظور بهينه سازي توان مصرفي فراهم كند.

ميكروكنترلر AVR بر مبناي معماري  RISC(كاهش مجموعه ي دستورالعملهاي كامپيوتر) پايه گذاري شده و مجموعه اي از دستورالعملها را كه با 32 ثبات كار ميكنند تركيب مي كند.

به كارگرفتن حافظه از نوع Flash  كه AVR ها به طور يكسان از آن بهره مي برند از جمله مزاياي آنها است.

يك ميكرو AVR مي تواند با استفاده از يك منبع تغذيه 2.7 تا 5.5 ولتي از طريق شش پين ساده در عرض چند ثانيه برنامه ريزي شود يا Program شود.

ميكروهاي AVR در هرجا كه باشند با 1.8 ولت تا 5.5 ولت تغذيه مي شوند البته با انواع توان پايين (Low Power)كه موجودند.

راه حلهايي كه AVR پيش پاي شما مي گذارد، براي يافتن نيازهاي شما مناسب است:

با داشتن تنوعي باور نكردني و اختيارات فراوان در كارايي محصولات AVR، آنها به عنوان محصولاتي كه هميشه در رقابت ها پيروز هستند شناخته شدند.در همه محصولات AVR مجموعه ي دستورالعملها و معماري يكسان هستند بنابراين زماني كه حجم كدهاي دستورالعمل شما كه قرار است در ميكرو دانلود شود به دلايلي افزايش يابد يعني بيشتر از گنجايش ميكرويي كه شما در نظر گرفته ايد شود مي توانيد از همان كدها استفاده كنيد و در عوض آن را در يك ميكروي با گنجايش بالاتر دانلود كنيد.

خانواده هاي محصولات AVR :

Tiny AVR:

ميكروكنترلري با اهداف كلي و با بيش از 4 كيلو بايت حافظه فلش و 128 بايت حافظه استاتيك و قابل برنامه ريزي است.(منظور از حافظه استاتيك SRAM و حافظه قابل برنامه ريزي EEPROM است.)

Mega AVR:

اين نوع ميكروها قابليت خود برنامه ريزي دارند و مي توان آنها را بدون استفاده از مدارات اضافي برنامه ريزي كرد همچنين بيش از 256K بايت حافظه فلش و 4K بايت حافظه استاتيك و قابل برنامه ريزي دارند.

LCD AVR:

اين نوع ميكرو داراي درايور براي نمايشگر LCD با قابليت كنترل اتوماتيك تباين و مقايسه تصوير مي باشد.باعث تمديد عمر باتري مي شود و در حالت فعال داراي توان مصرفي پاييني است.

توان مصرفي پايين:

توان مصرفي پايين آنها براي استفاده بهينه از باتري و همچنين كاربرد ميكرو در وسايل سيار و سفري طراحي شده كه ميكروهاي جديد AVR با توان مصرفي كم از شش روش اضافي در مقدار توان مصرفي ، براي انجام عمليات بهره مي برند.

اين ميكروها تا مقدار 1.8 ولت قابل تغذيه هستند كه اين امر باعث طولاني تر شدن عمر باتري مي شود.

در ميكروهاي با توان پايين ، عمليات شبيه حالت Standby است يعني ميكرو مي تواند تمام اعمال داخلي و جنبي را متوقف كند و كريستال خارجي را به همان وضعيت شش كلاك در هر چرخه رها كند!

ابعاد مختلف ميكروهاي AVR را در اشكال زير مشاهده مي كنيد:

 AVR هاي مدل tiny:

به خود اجازه ندهيد كه نام آن شما را گول بزند... ميكروهاي مدل tiny توانايي هاي عظيمي دارند.به خاطر كوچك بودن و داشتن MCU بسيار پر قدرت به اينگونه ميكروها نياز فراواني هست آنها به هيچ منطق خارجي نياز نداشته و به همراه يك مجتمع مبدل آنالوگ به ديجيتال و يك حافظه قابل برنامه ريزي EEPROM قابليتهاي خود را ثابت مي كنند.

نكات كليدي و سودمند مدل Tiny :

آنها به منظور انجام يك عمليات ساده بهينه سازي شده و در ساخت وسايلي كه به ميكروهاي كوچك احتياج است كاربرد فراوان دارند.

كارايي عظيم آنها براي ارزش و بهاي وسايل موثر است.

 AVR هاي مدل Mega:

اگر شما به ميكرويي احتياج داريد كه داراي سرعت و كارايي بالا باشد و توانايي اجراي حجم زيادي از كد برنامه را داشته و بتواند داده هاي زيادي را سروسامان دهد بايد از AVR هاي مدل Mega استفاده كنيد آنها به ازاي هر يك مگا هرتز سرعت ، توانايي اجراي يك ميليون دستورالعمل در هر يك ثانيه را دارند همچنين قابل برنامه ريزي و بروزرساني كدها با سرعت و امنيت بسيار بالايي هستند.

نكات كليدي و سودمند مدل Mega :

حافظه سريع از نوع فلش با عملكرد خود برنامه ريز و بلوكه ي بوت (Boot Block)

دقت بسيار بالاي 8-كانال در تبديل آنالوگ به ديجيتال 10 بيتي

USART و SPI و TWI بر طبق واسطه هاي سريال

واسطه ي JTAG بر طبق IEEE 1149.1

TWI: Two Wire Interface is a byte oriented interface

USART: Universal Serial Asynchronous Receiver/Transmitter

SPI: Serial Peripheral Interface

JTAG available only on devices with 16KB Flash and up

واسط JTAG فقط در ميكروهاي با بيش از 16 كيلوبايت حافظه فلش موجود است.

AVR هاي مدل LCD:

آنها با بالاترين يكپارچگي و انعطاف پذيري ممكن طراحي شده اند و با داشتن درايور LCD و كنترلر اتوماتيك وضوح تصوير ،بهترين واسطه را با انسان دارند و داراي توان مصرفي پايين و كارايي بالايي هستند.اولين عضو اين خانواده 100 سگمنت داشت و داراي يك UART و SPI به منظور ارتباط به صورت سريال بود.

نكات كليدي وسودمند مدل LCD :

كارايي فوق العاده با سرعت يك ميليون دستورالعمل در ثانيه به ازاي يك مگاهرتز

واسطه ها براي ارتباط با انسان: وقفه هاي صفحه كليد و درايور نمايشگر LCD

آنها اين اجازه را به طراح سيستم مي دهند كه توان مصرفي را در برابر سرعت پردازش تا جايي كه امكان دارد بهينه كند.

نكات كليدي و سودمند حافظه ي فلش خود برنامه ريز:

قابليت دوباره برنامه ريزي كردن بدون احتياج به اجزاي خارجي

128 بايت كوچك كه به صورت فلش سكتور بندي شده اند

داشتن مقدار متغير در سايز بلوكه ي بوت (Boot Block)

خواندن به هنگام نوشتن

بسيار آسان براي استفاده

كاهش يافتن زمان برنامه ريزي

كنترل كردن برنامه ريزي به صورت سخت افزاري

راههاي مختلف براي عمل برنامه ريزي:

موازي يا Parallel :

يكي از سريعترين روشهاي برنامه ريزي

سازگار با برنامه نويس هاي(programmers) اصلي

 خود برنامه ريزي توسط هر اتصال فيزيكي:

برنامه ريزي توسط هر نوع واسطه اي از قبيل TWI و SPI و غيره

دارا بودن امنيت صد درصد در بروزرساني و كدكردن

ISP:

واسطه سه سيمي محلي براي بروزرساني سريع

آسان و موثر در استفاده

 واسطه JTAG :

واسطه اي كه تسليم قانون IEEE 1149.1 است و مي تواند به صورت NVM برنامه ريزي كند يعني هنگام قطع جريان برق داده ها از بين نروند.استفاده از فيوزها و بيتهاي قفل.

بيشتر براي ديباگ كردن آنچيپ و به منظور تست استفاده مي شود

نرم افزار ارائه شده توسط شركتATMEL به نام AVR Studio 4 :

اين نرم افزار به صورت رايگان در سايت شركت ATMEL قرار دارد مي توانيد با رجوع به آدرس http://www.atmel.com آن را دانلود كنيد.

اين نرم افزار در حقيقت يك اسمبلر براي محصولات AVR اتمل است و به صورت كاملا ويژوالي است.

مي تواند با انواع دستگاههاي برنامه نويس ميكرو ارتباط برقرار كند و كدها را در ميكرو دانلود كند.

و قابليت ترجمه كدها به زبانهاي C و Assembly را دارد و ...

برگرفته از سايت :بايتس كلوپ

نوشته شده توسط maryam در چهارشنبه بیست و هشتم فروردین 1387

لينك مطلب

خليج العربی Arabian Gulf Gulf خليج

دوستان عزيز وبلاگ نويس وقت وقته دست بالا زدن و اقدامات عملی است. حالا زمانی است که بايد اثبات کنيم که ايرانی واقعی کيست و ايران واقعی چيست.
نوشته شده توسط maryam در شنبه بیست و چهارم فروردین 1387

لينك مطلب

عيد نوروز را بر تمامي هم وطنانم در هر كجاي اين كره خاكي كه هستند


 تبريك مي گويم و سالي سر شار از موفقيت برايشان آرزو مندم .

نوشته شده توسط maryam در سه شنبه بیست و هشتم اسفند 1386

لينك مطلب


در ادامه مطالب آموزش SQL حال به بحث ديدها (view) مي پردازيم. ديد در اصل يك جدول مجازي است كه محتوي آن توسط يك پرس و جو تعريف مي گردد. همانند جدول ديد هم داراي سطر و ستونهايي مي باشد. مي توان به موارد زير به عنوان مزاياي ديد اشاره كرد :

ديدها به كاربران اجازه ميدهند تا بر روي داده هايي كه نياز دارند متمركز شوند. بنابر اين داده هاي غير ضروري ميتوان از ديد خارج كرد. ديدها امنيت داده ها را نيز افزايش ميدهند چراكه كاربر فقط داده هايي را مي بيند كه در ديد وجود دارند.

ديدها به كاربران اجازه ميدهند تا داده ها را به روشهاي متفاوت مشاهد نمايند. ديدها ميتوانند براي مبادله داده ها با ساير برنامه هاي كاربردي بكار روند.

و ....

ايجاد ديد :

وقتي ديدي را ايجاد ميكنيد نام آن مي بايست در بين نام جداول و ديگر ديدهايي كه كاربر مورد نظر آنها را ساخته , يكتا باشد.در SQL Server 7.0 شما امكان ايجاد شاخص بر روي ديدها را نداشتيد , ليكن اين امكان در SQL 2000 اضافه شده است.

مراحل ايجاد يك ديد :

1- erprise Manager را باز كرده و بر روي Databases كليك كرده و پايگاه داده اي را كه مي خواهيد ديد در آن ايجاد كنيد . باز كنيد.

2- روي Views كليك راست كرده و سپس گزينه New View... را انتخاب كنيد.

3- در پنجره بعدي كليك سمت راست كرده و گزينه Add Table... را انتخاب كنيد.

4- دكمه هاي Table و يا Views جدول و يا ديد هاي مورد نظر را انتخاب نماييد. و بر روي دكمه Add كليك نماييد. اين كار را براي تمام جداول و يا ديدهاي مورد نظر تكرار كنيد و سپس بر روي دكمه Close كليلك نماييد.

در قسمت Column از پانل مشبك , ستونهايي را كه ميخواهيد در ديد به آنها ارجاع نماييد انتخاب كنيد. اگر ميخواهيد ستوني در مجموعه نتيجه ديده شود گزينه Output متناظر با آن مي بايستي حتما تيك داشته باشد.

در ستون Criteria شرط را بنويسيد. چند شرط را ميتوانيد در ستونهاي OR تكرار كنيد. براي گروه بندي برروي ستون Criteria كليك سمت راست كرده و گزينه Group By را انتخاب نماييد. در اينصورت شما قادر خواهيد بود از توابعي همچون Sum استفاده كنيد.

تذكر : اگر Group by را انتخاب كرده باشيد. تمام شرايط كه در ستون Criteria بنويسيد به عنوان شرايط Having در نظر گرفته ميشوند. براي اينكه اين محدوديتها به شرط Where اضافه گردند , بر روي پانل مشبك متناظر كليك كرده و از ليست مورد نظر گزينه where را بجاي Group by انتخاب كنيد.

تذكر 2 : در ستون Alias شما ميتوانيد يك اسم مستعار براي اين ستون در نظر بگيريد.

براي ديدن نتايج ديد بر روي علامت (!) كليك نماييد.

توجه داشته باشيد كه ارتباط ها در صورتي برقرار ميشود كه كليدهاي خارجي بر روي جداول وجود داشته باشد. گرچه شما مي توانيد با انتخاب فيلد مورد نظر و حركت ماوس در حاليكه كليك سمت چپ را فشار داده ايد مابين دو جدول ارتباط را برقرار كنيد.
نوشته شده توسط maryam در دوشنبه بیست و هفتم اسفند 1386

لينك مطلب

در اين قسمت در ادامه مطالب قبلي مبحث SP خواهيم پرداخت و آن را كامل خواهيم كرد. در قسمت بعدي مطلب با View ها آشنا خواهيم شد.
ايجاد Stored Procedure با استفاده از ويزارد ها:
براي ايجاد SP هاي استاندارد جهت عمليات درج , حذف و ويرايش شما مي توانيد از ويزاردهاي خود SQL استفاده نماييد. با اين ابزار شما قادريد طي چند دقيقه تعداد زيادي SP جهت عملياتهاي گفته شده بر روي جداول خود بسازيد. براي اين منظور در Enterprise Manager بر روي كليد ويزارد كليك نماييد مانند شكل زير :



بعد در پنجره Select Wizard بر رويDatabase كليك و گزينه Create Stored Procedure Wizard را انتخاب نماييد . مانند شكل زير :




در پنجره بعدي به شما خوش آمد گويي مينماييد . برروي كليد Next كليك نماييد.در پنجره بعدي نام Database ي را كه قرار است بر روي جداول آن كار شود انتخاب نماييد و بروي Next كليك نماييد. در پنجره بعدي جداول و عمليات مورد نظري كه مي خواهيد انجام دهيد انتخاب كنيد. در پنجره بعدي نام SP هايي كه سيستم ساخته شما خواهيد ديد. براي ويرايش نام و يا كد هركدام از آنها ميتوانيد آن Sp را انتخاب و كليد Edit را فشار دهيد. در اينصورت شما پنجره اي به شكل زير خواهيد داشت :




حال شما در قسمت Name مي توانيد نام Sp را عوض نماييد.
در قسمت Include in Set Clause شما فيلدهايي از جدول مربوطه كه مي خواهيد مقادير آن به شكل پارامتر براي Sp ارسال شود انتخاب نماييد. اگر Sp شما Update و يا Delete باشد در قسمت Include in Where Clause شما مي توانيد فيلدهايي كه قرار است در شرط (دستور Where) قرار مي گيرند انتخاب نماييد.

تذكر1 : اگر فيلدي از نوع Identity داريد در حالت Insertحتما از قسمت Include in Set Clause خارج كنيد. در غير اينصورت در زمان اجرا با خطا مواجه خواهيد شد.
تذكر2 : SQL فيلد كليدي جدول را در دستور Update در دستور Where خواهد آورد . همچنين شما اين فيلد را از Include in Set Clause خارج كنيد.

در نهايت شما با فشار كليد Finish همزمان اين Sp را خواهيد ساخت.
تا اين قسمت شما با ساخت Sp آشنا شديد. حال براي ويرايش آن نيز كافي است بر روي Sp كليد نموده و در پنجره باز شده كد آن را ويرايش نماييد
نوشته شده توسط maryam در یکشنبه بیست و ششم اسفند 1386

لينك مطلب

بالاخره وبلاگ من یک ساله شد و امیدوارم بتونم در دوسالگی وبلاگ خودم رو بهتر کنم و از شما دوستان خواهش دارم منو با نظراتون یاری بکنید.

نوشته شده توسط maryam در شنبه بیست و پنجم اسفند 1386

لينك مطلب



ميتوان گفت قلب Sql Server است. در Enterprise Manager شما ميتوانيد يك اتصال به سرور Sql برقرار كنيد . table بسازيد. User تعريف كنيد و.....

علامت فلش سبز نمايانگر فعال بودن سرور است.
سرور ميتواند local باشد مانند بالا و يا يك Sqlserver باشد برروي يك سرور . براي ايجاد يك سرور جديد يا به عبارت ديگر وصل شدن client (ويندوز 98) به يك سرور ديگر بر روي يكي Microsoft Sql Server يا SQL Server Group و يا برروي سرور موجود كليك سمت راست كرده و گزينه New Sql Server Registratin را انتخاب كنيد. سپس كليد next را انتخاب كنيد. سپس در منوي بعدي در available Server نام سرور خود را تايپ كنيد . (نام سرور SQL خود را كه برروي ويندوز 2000 خود نصب كرده ايد) و بعد كليد add را فشار دهيد.و گزينه next را انتخاب كنيد.

در پتجره بعد از شما سوال ميكند كه آيا از username ويندوز استفاده كند و يا اينكه از يك username مخصوص خود Sql Server استفاده كنيد. گزينه دوم را انتخاب كرده و سپس Login Name و Password را وارد كنيد. (در حالت پيش فرض sa بعنوان login name و فضاي خالي بجاي Password وارد كنيد.) پس از چند بار فشار كليد next شروع به وصل شدن به Server ميكند. در صورت موفقيت آميز بودن با پيامي اين كار را اطلاع ميدهد.
از ديگر گزينه ها شما بيشترين استفاده را از Databases خواهيد كرد.
به عبارت ديگر هر كار و پروژه ما بعنوان يك Database در سرور sql قرار ميگرد. همه جداول و دستورات مربوط به آنها در اين محل نگهداري مي شود.
با كليك سمت راست برروي Databases و انتخاب New Database... ميتوانيد يك Database جديد براي خودتان بسازيد.


پس از انتخاب نام آن را تاييد كنيد.
هر Database شامل موارد زير است :
1- Diagram : ارتباط جداول را نشان ميدهد.
2- Tables : جداول پروژه را نشان ميدهد.
3- Views : ديدهاي پروژه را نشان ميدهد.
4- Stored Procedure : كدهاي sql مربوط به عملياتهاي روي جداول را نگهداري ميكند.
5- Users : كاربران تعريف شده بر روي اين database را نشان ميدهد.
6- Roles: قوانين دسترسي به جداول و پروسيجرها را نشان ميدهد.
7- Rules : قوانين مربوط به داده ها را در جداول نشان ميدهد.
گزينه هاي 7 به بعد كاربرد آنچناني براي كارهاي ابتدايي ندارند

ايجاد يك جدول جديد :
براي ايجاد يك جدول جديد بروي tables كليك سمت راست كرده و گزينه New Table را انتخاب كنيد. سپس در كادر بعدي نام جدول را انتخاب كنيد. حال فيلدها و نوع آنها را مشخص كنيد .
بعد از مشخص كردن نوع و احتمالاً طول فيلد , بايد مشخص كنيد كه آيا فيلد هميشه مي بايست مقدار داشته باشد و يا مي تواند null باشد. Allow Nulls اگر تيك داشته باشد يعني اينكه اين فيلد مي تواند هيچ مقداري به خود اختصاص ندهد.

تذكر : مقدار null را با فضاي خالي اشتباه نگيريد.

در قسمت Default Value مقدار اوليه براي فيلد وارد كنيد. تا در صورتيكه هيچ مقداري درج نشد آن مقدار درج شود. (در دستور insert )
اگر Identity را تيك بزنيد اين فيلد بشكل خود افزا خواهد شد كه اولا بايد نوع فيلد عددي و ثانيا مقدار گامها در Identity increment مشخص شود. مقدار اوليه آن را هم مي توانيد در Identity Seed قرار دهيد. بدين شكل با اين مقدار شروع و با گامهاي مشخص شده حركت خواهد كرد.

تذكر : هيچ مقداري در اين فيلد نمي توانيد درج كنيد , چراكه خود سيستم اين مقدار را توليد مي كند .

براي مشخص كردن فيلد كليد (يا فيلدهاي كليدي) فيلد(ها) را انتخاب و بر روي علامت كليد بر روي Toolbar كليك كنيد .

تذكر : فيلد كليدي نمي تواند Allow Nulls باشد.
تذكر : براي تعريف index كليك سمت راست كرده و index/keys را انتخاب كنيد .
( در مورد index بطور مفصل صحبت خواهد شد )

ايجاد Stored Procedure :
مانند هر زبان ديگر رويه ها در sqlServer نيز موجود مي باشند. و بكار ميروند. سه رويه insert , Updaet و Delete را مي توانيد براحتي با ويزاردهاي خود SqlServer بسازيد. از اينجا به بعد از واژه SP بجاي رويه استفاده خواهيم كرد.
ابتدا با ساختار كلي SP آشنا شده و سپس به ويزارد موجود خواهيم پرداخت.
براي ايجاد يك SP جديد ابتدا برروي گزينه Stored Procedure كليك سمت راست كرده و گزينه new Stored Procedure... را انتخاب كنيد. در پنچره بعدي شما مي توانيد متن SP را وارد كنيد.

1- نام sp : ابتدا بجاي [PROCEDURE NAME] يك نام براي SP خود در نظر بگيريد. من خود از ساختار زير بدين منظور استفاده ميكنيم : عمليات_نام جدول
عنوان مثال اگر نام جدول Sale و عمليات مورد نظر يك عمليات insert باشد نام SP را Sale_INSERT ميگذاريم. بهتر است نام عمليات با حروف بزرگ تايپ شود . البته بعضي از دوستان از سه حرف عمليات استفاده مي كنند. براي مثال بالا خواهيم داشت :Sale_INS .

2- تعريف پارامترها : براي تعريف پارامترهاي ورودي SP قبل از كلمه كليدي As آنها را داخل پرانتز مشخص كنيد. بدين شكل كه ابتدا علامت @ سپس نام پارامتر بعد فاصله و نوع پارامتر.
تذكر : تمامي متغييرها در SP از ساختار نام متغيير@ پيروي ميكنند.
بعنوان مثال فرض كنيد يك SP داراي دو پارامتر با نامهاي Id از نوع int و Name از نوع Varchar(20) باشد , داريم :( @id int,@name varchar(20))
حال بعد از As دستورات مورد نظر را تايپ ميكنيم :

مثال 1 : SP بنويسيد كه چهار حرف اول فيلد LastName و فيلد FirstName را از جدول Employees انتخاب كند به شرطي كه فيلد LastName با حرف A شروع شود ؟
ابتدا برروي Stored procedure كليك سمت راست كرده و گزينه New stored procedure را انتخاب كرده و خطوط زير را تايپ كنيد. بعضي از دستورات پايين در كادر باز شده موجود هستند كه نيازي به تايپ مجدد آنها نيست .
create Stored Procedure Employees_BROWSE
As
Select substring(Lastname,1,4) as LastNmae,FirstName
From Employees
Where LastName Like ‘%A’

حال بر روي دكمه ok كليك نماييد. حال SP با نام Employees_BROWSE در ليست SP اضافه شده است .
مثال 2 : تمام فيلدهاي Employees را انتخاب كنيد كه فيلد BirthDate در يك بازه تاريخي كه به شكل پارامتر وارد ميشود قرار گيرد ؟
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10))
As
Select *
From Employees
Where BirthDate between @StartDate and @EndDate

حال براي اجراي SP ها در Query Analyzer كافي است بنويسيم : نام Exec SP
بعنوان مثال :Exec Employees_browse
اگر پارامتر داشت مقدار پارامترها را هم مي آوريم :
Exec Employees_Browse2 ‘01/01/1940’ , ‘15/06/1955’

3- تعريف متغيرها : براي تعريف متغيرها مي بايست از كلمه كليدي Declare استفاده كنيم. بعنوان مثال : Declare @myname varchar(50)
متغيير @myname از نوع كاركتري پويا تعريف ميكند.

4- برگرداندن كد خطا : بدين منظور از دستور return @@Error
گرچه هرمقداري را كه بخواهيم مي توانيم با دستور return برگردانيم.

5- تعريف پارامترها كه مقداري را برمي گردانند : براي اين منظور هنگامي كه پارامتر را در ابتداي پروسيجر تعريف ميكنيم بعد از نوع آن از كلمه كليدي output مي كنيم بعنوان مثال :
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10) , @pp varchar(10) output)
As
6- مقدار دهي به متغييرها : به دو روش مي توانيد اين كار را بكنيد يكي با دستور Set و ديگري با دستور Select .
7- دستورات شرطي :مانند ديگر زبانها شما مي توانيد در Sql دستورات شرطي را بكار ببريد. ساختار آن به شكل زير است :
If شرط then دستور
If شرط then
Begin
دستور1
دستور2
...
end
مثال :

If @Sdate > @Edate set @newDate = @Sdate

8- دستور Set NOCOUNT on : اين دستور از نوشت تعداد سطرهاي برگردانده شده توسط دستورات جلوگيري ميكند. كاربرد مهم آن زماني است كه شما چند كار را پشت سرهم در SP انجام ميدهيد. مثلا يك جدوي موقت ميسازيد و سپس از آن يك تعدادي از فيلدها را با دستور Select انتخاب مي كنيد. اگر اين دستور را در ابتداي SP استفاده نكتيد , هنگامي كه ميخواهيد از آن SP در يك زبان برنامه نويسي استفاده كنيد با خطاي SP هيچ dataset ي برنمي گرداند مواجه خواهيد شد.

تذكر1 : شما مي توانيد يك SP را در يك SP ديگر فراخواني كنيد. براي اين منظور همانطور كه قبلا گفته شد از دستور exec استفاده نماييد.
تذكر 2 : با دستور exec شما مي توانيد يك دستور sql را نيز اجرا كنيد. اين كار زماني بكار مي آيد كه دستور مورد نظر پويا و متغير باشد.
مثال :
Exec (“ select * From Employees Where “+@Shart)
اين شرط ميتواند بر اساس فيلدهاي بانك توليد گردد.
مثال : يك SP بنويسيد كه اختلاف تعداد سفارشاتي كه فيلد ShipCountry آنها France يا German باشد. را برگرداند ؟
create Stored Procedure Order_France_German ( @Outp int output)
as
declare @Count_France int , @Count_German int

select @Count_France = Count(*)
from orders
where ShipCountry = 'France'

select @Count_German = Count(*)
from orders
where ShipCountry = 'German'

if @Count_France is null set @Count_France = 0
if @Count_German is null set @Count_German = 0

set @outp = @Count_France - @Count_German

نوشته شده توسط maryam در شنبه بیست و پنجم اسفند 1386

لينك مطلب

"چقدر دير فهميدم كه آينده همان روزهاي است كه زود گذشتنش را آرزو مي كردم "
نوشته شده توسط maryam در دوشنبه بیست و دوم بهمن 1386

لينك مطلب




کپي برداري از مطالب وبلاگ فقط با ذکر منبع مجاز ميباشد .

All Rights Reserved 2008-2010 © by borland.blogfa.com

Design This Web By Noleek ™ @ Ver:2.00 POWERED BY BLOGFA.COM