• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
تعداد مطالب : 27
تعداد نظرات : 22
زمان آخرین مطلب : 5326روز قبل
کامپیوتر و اینترنت

<html dir=rtl>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">

<script LANGUAGE="JavaScript">
<!--
function submitenter(myfield,e)
{
var key;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
if (key>31)
if (key<128)
{
if (window.event)
window.event.keyCode=" !"#$%،گ)(×+و-./0123456789:ك,=.؟@ِذ}ىُىلآ÷ـ،/’د×؛َءٍف‘{ًْإ~جژچ^_پشذزیثبلاهتنمئدخحضقسفعرصطغظ<|>ّ".charCodeAt(key-32);
else if (e)
e.which=" !"#$%،گ)(×+و-./0123456789:ك,=.؟@ِذ}ىُىلآ÷ـ،/’د×؛َءٍف‘{ًْإ~جژچ^_پشذزیثبلاهتنمئدخحضقسفعرصطغظ<|>ّ".charCodeAt(key-32);
}
return true;
}
//-->
</script>

</head>
<body>


<form name="DataEntry" method="post" action="">
<input type="text" name="T1" size="50" maxlength="50" onkeypress="return submitenter(this,event)" style="FONT-SIZE: 12px; FONT-FAMILY: Tahoma">
<br><br>
<textarea name="T2" rows="10" cols="50" onkeypress="return submitenter(this,event)" style="FONT-SIZE: 12px; FONT-FAMILY: Tahoma"></textarea>
</form>

</body>
</html>

جمعه 3/7/1388 - 6:37
کامپیوتر و اینترنت

این برنامه یک مثال خوب از نحوه باز کردن ، خواندن و نوشتن داخل یک فایل است که نیاز به هیچ نوع بانک اطلاعاتی هم ندارد . این فایل را با اسم counter.asp ذخیره کنید و در کنارش یک فایل متنی ساده به کمک NotePad و به نام database.inc ایجاد کنید و در سطر اولش هم عدد صفر یا هر عدد دیگری را که مایلید پیش‌فرض شمارنده شما باشد بنویسید.  فراموش نکنید که سطح دسترسی لازم برای نوشتن را نیز به این فایل بدهید . با کمی ابتکار می توان این شمارنده را به نوع گرافیکی تبدیل کرد. حتی می توانید به تعداد صفحات سایت ، فایل ایجاد کنید تا تعداد مشاهده هر صفحه را به تنهایی ردیابی کنید.

<%
Dim objFSO , objFile
set objFSO = createobject("scripting.filesystemobject")
set objFile = objFSO.opentextfile(server.mappath("database.inc"))
"get the current count and store in counter
counter = clng(objFile.readline)
"add one to the current count
counter = counter + 1
"close file object
objFile.close
"write a new text object with the same name and new count
Set objFile = objFSO.CreateTextFile(server.mappath("database.inc"), true)
objFile.writeline(counter)
"close file object
objFile.close
"
counter_length = len(counter)
"loop through the hit count and display the image
for i = 1 to counter_length
%>
<%= mid(counter,i,1) %>
<%
next
%>

جمعه 3/7/1388 - 6:5
دانستنی های علمی

این طلسم و دعا را در یك ورق با زعفران در روز یك شنبه ساعت شمس یا مشتری بنویسید و همراه خود نگه دارید

 

بسم الله الر حمن الرحیم یا رحمن یا رحمن یا رحمن یا رحیم یا رحیم یا رحیم یا حنّان  یا حنّان  یا حنّان  یا منّان یا منّان یا منّان یا دیّان یا دیّان یا دیّان یا سلطان یا احد یا صمد من عندك مددی فرجا و تعجل فرجی باسم فلان بن فلان بحقّ محمّد و آله اجمعی

جمعه 3/7/1388 - 5:38
دانستنی های علمی

دود کردن اسفند
برای در امان ماندن از حملات نامرئی شیاطین ، هر روز در محل زندگی خود ، مقداری اسفند دود کنید.


(در حین دود کردن اسفند، صلوات هم بفرستید)

 پس از مطالعات و تجربیات زیادی که در زمینه علوم غیر مادی داشته ام ، به این نتیجه رسیده 


 ام که ریشه اکثر دعواها، جر و بحث ها ، جنایت ها، قتل ها، فسادهای جنسی  ، مرگهای 

 ناگهانی ، بیماریهای لا علاج ، و...     ناشی از حملا ت نامرئی جن های بد   (
شیاطین
) به 

 انسانها میباشد .  یکی از ساده ترین راهها برای دفع شیاطین ، د ود کر د ن ا سفند می با 

 شد .چون شیا طین از بوی  د ود اسفند ، به شد ت متنفرند.  راه دیگر ان است که از یک جن 

 گیر (   دعا نویس  ) 
 معتبر و با تجربه  ،   دعا گرفت   و    همیشه  ان دعا  را 

 همراه خود نگه داشت .
جمعه 3/7/1388 - 5:27
دانستنی های علمی

    هر کس بیکار بماند و شغلی نداشته باشد ، بعد از استحمام وپوشیدن لباس پاکیزه ، وضو بگیرد ،رو به قبله 


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

     
در شکاف دیواری پنهان کند و موقع برگشتن پشت سر خودرا نگاه نکند ، چند روز بعد او را برای شغلی دعوت 

    
میکنند و مشغول به کار می گردد  .     ( البته فتوکپی اثر ندارد و باید حتما نوشته شود                                        

                      
هر کس این کار را انجام دهد ، صد در صد کار و شغل پیدا خواهد کرد
جمعه 3/7/1388 - 5:25
دانستنی های علمی

این کلمات را سه روز هنگام صبح بر کاغذی نوشته و بر آب جاری بیاندازد سحر باطل میشود باذن الله تعالی:

بسم الله الرَّحمن الرَّحیم ذَکَرْنا مِنْ حَیْثُ نَسینا وَ عافیانا مِنْ حَیْثُ بَلینا وَ وَصَلْنا مِنْ حَیْثُ قَطَعْنا وَ صَلَّی اللهُ عَلی مُحمَّدٍ وَ آلِهِ اَجْمَعینَ


                       لازم به ذکر است که اگر سحر و جادو خیلی قوی (سنگین) باشد، باید به یک

جن گیر (دعا نویس) معتبر و با تجربه مراجعه کرد و با انجام دستورات وی ،

ان سحر و جادو را با طل نمود.

 باطل نکردن سحر و جادو عواقب بسیار خطرناکی در بر دارد

جمعه 3/7/1388 - 5:22
دعا و زیارت
این دعا را نوشته بر کاغذ پاک و در آب جاری بیاندازید.

بسم الله الرحمن الرحیم ذکرنا من حیث نسینا و عافینا من حیث بلینا و وصلنا من حیث قطعنا و صلی الله علی محمد و آله اجمعین

همچنین سورههای زیر نیز در این خصوص نافع است:

اسرا-۸۲ . سوره مریم . اعراف آیات ۱۱۸-۱۲۲ . نازعات ۲۷ تا ۴۶ و یونس آیات ۸۰
جمعه 3/7/1388 - 5:18
آموزش و تحقيقات

چیزی که طایفه جن را قدرتمند جلوه میدهد اینست که از نظرها ناپدید هستند و اینکه قدرت طی الارض دارند یعنی اینکه در یک لحظه از یک نقطه زمین به طرف دیگر آن میتوانند بروند و کارهایی را می توانند انجام دهد که انسان ها بسیار علاقه به انجام آنها دارند که البته تمامی جن ها قدرت کامل ندارند وفقط بزرگان آنها قادر به انجام کارهای بسیار بزرگ هستند.

    واما جن ها در کجا ها و چه زمانی به فعالیت می پردازند :

آنها در زیر زمین ها خرابه ها و جاهای متروک و قدیمی در شب ها به جشن و بازی می پردازند البته قابل ذکر است که در مکان هایی که فلز به کار رفته و هوا به شدت در جریان است کمتر دیده میشوند ( یکی از شرایط اصلی احضار مکانی است که حدالامکان فلزی نباشد و هوا در آن جریان نداشته باشد!!! )

    چه می خورند؟ عذای آنها ته مانده غذای انسان و مغز استخوان است...

    آیا دارای دین و مذهب هستند؟

این موجودات دو دسته اند مومن و صالح و دسته دیگر کافر و شرور که دسته صالح آن دارای مذهب های مختلف اند اما جالب اینجاست که "مذهب سنی" ندارند زیرا در واقعه قدیر خم حضور داشته اند!!! و اما گروه شرور آنها که حتما در مورد آزارهای آنها داستان های زیادی شنیده اید.

    جن زدگی چیست؟جن گیر چه شخصی است؟

جن زدگی یک بیماری روحی و روانی است که بر اثر مس ابلیس بوجود میاید که معمولا بر اثر آزارهای نا خواسته که در حق آنها توسط انسان بوجود میاید مثلا چله نشستن های اشتباه و ناقص و گفتن ذکر های مخصوص و...( به همین دلیل از گفتن بعضی موارد بصورت کامل اباع دارم!!! ) جن زدگی را در قدیم ناشی از ورود یک روح شیطانی در کالبد یک انسان میدانستند و اشخاصی نیز بوده اند که اصطلاحا به آنها جن گیر میگفتند که این اشخاص با فنون خاص و علمی که از اجداد خود آموخته بودند به مبادرت یه خارج کردن آن روح شیطانی از بدن شخص جن زده می کردند...

    پناه بردن به جن !!!

در اعراب قدیم رسم بوده که هرگاه در مسافرت در شب به بیابانی میرسیدند از بیم اشرار طایفه جن به عزیز آن بیابان که مهتر طایفه جن بود پناه می بردند به این صورت که فریاد میزدند "ای عزیز این وادی به تو پناه میبریم از شر سفیهان قومت"!!!

    وادی الجن :

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

    تسخیرات :

جن ها می توانند به انسان در کارها کمک کنند برای مثال شما میخواهید از جایی خبر بگیرید که از لحاظ زمان و مکان برایتان مقدور نیست مثلا میخواهید از مکان طلسمی آگاه شوید و یا آنرا از بین ببرید شما اگر بخواهید از یک جن برای اینکار بگیرید باید اصطلاحا او را تسخیر کنید و این کار با ذکرهای خاصی انجام میگیرد که بسیار خطرناک است و آثار سوء آن ممکن است تا پایان عمر و حتی در نسل شما باقی بماند.

   در پایان باید گفت که جن مانند انسان بر دو جنس زن و مرد میباشد و صاحب فرزند می شود ودارای عمد معینی اسب و مرگ همانند انسان  در کمین اوست و به نظر میاید با این تفاسیر تنها دلیل ترس انسان از این موجود نامرئی بودن آنست و اینهم به دلیل ساختار لطیف و شفاف این موجود است و اگر ضرری از این آنها به کسی میرسد دلیل بر خباثت همه آنها هیست(کما اینکه بعضی انسانها آزارشان بیشتر است) جالب است بدانید که این موجودات نیز مثل آدمیان عاشق می شوند (با این تفاوت که وفادارترند!!!) و بارها دیده شده است که حتی عاشق انسانی شده اند اما باید دانست که ارتباط مداوم با این موجودات آثار سوئی بر فیزیک انسان میگذارد برای مثال زردی چهره و آثار سوء روانی!!! بطور کلی هدف از این بحث ساده این بود که توهمات غلطی که داجع به این مخلوقات خدا در اذهان خیلی ها وجود دارد کمرنگ شود و سئوالات زیادی که دوستان پرسیده بودند پاسخ داده شود و جنبه های خرافی در این مورد از بین برود .
جمعه 3/7/1388 - 4:14
دانستنی های علمی

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


پادشاه روز یکشنبه بنام سعید المذهب ابو عبدالله


پادشاه روز دوشنبه  بنام ابی الحارث


پادشاه روز سه شنبه بنام ابی محرز احمر


پادشاه روز چهار شنبه بنام برقان با کنیه ی ابوالعجایب


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


پادشاه روز جمعه بنام ابیض با کنیه ی ابوالحسن زوبعه

جمعه 3/7/1388 - 4:8
آموزش و تحقيقات
عرضه شدن نسخه 2005 پایگاه داده‌ای مشهور مایکروسافت یعنی SQLServer، بازار نرم‌افزارهای بانک اطلاعاتی را به شدت تحت تأثیر خود قرار داد. امکانات گسترده‌ای که در این نسخه جدید تعبیه شده، طراحی و پیاده‌سازی بانک‌های اطلاعاتی را سرعت بخشیده و تلفیق و انطباق آن با انواع فناوری‌های نو مانند XML وADO.NET، باعث افزایش قدرت و کارایی آن شده است. در این مقاله به برخی از ویژگی‌های جدید این برنامه نگاهی خواهیم داشت.

Snapshot Isolation Level
یکی از روش‌هایی که به انواع متدهای قفل کردن ردیف‌های یک جدول بانک‌اطلاعاتی در نسخه جدید اضافه شده است، شیوه تصویربرداری از رکورد است. در روش‌های قبلی، اگر یک یا چند رکورد بانک اطلاعاتی توسط دستور BeginTrans که شروع یک فرآیند را مشخص می‌کند در شرف تغییر یا حذف قرار می‌گرفتند، تا مادامی‌ که فرآیند مذکور توسط دستور Commit Trans تأیید یا توسط RollBack منتفی نشود، از هیچ جا و برنامه‌ای نمی‌توان رکوردهای مذکور را حتی با دستور ساده SELECT خواند. اما در روش جدید قفل‌گذاری، در صورت بروز چنین رویدادی سایر کاربران می‌توانند همواره آخرین ارزش رکوردهای مذکور را با این فرض که هنوز هیچ تغییری در آن‌ها ایجاد نشده است بخوانند و مورد استفاده قرار دهند.
باز هم دات‌نت
با نسخه جدید SQL Server، برنامه‌نویسان بانک‌های اطلاعاتی قادرند از امکانات و قابلیت‌های موجود در پلتفرم دات‌نت و کلیه توابع و کلاس‌های ساخته شده در آن بهره‌مند شوند. یکی از ابتدایی‌ترین و در عین حال اساسی‌ترین این قابلیت‌ها، امکان استفاده از دو زبان مهم و کاربرپسند دات‌نت یعنی ویژوال بیسیک و سی‌شارپ در پیاده‌سازی اجزای مختلف یک بانک‌اطلاعاتی است. این عامل نه‌تنها باعث می‌شود که برنامه‌نویسان برای نوشتن ماژول‌هایی مثل تریگرها، روال‌ها (Stored Procedures) در توابع به جای استفاده از زبان استاندارد و در عین حال پیچیده T-SQL ، بتوانند از زبان‌های محیط دات‌نت با تمام ساختارها، دستورات، کلاس‌ها، آرایه‌ها، و خلاصه تمام ویژگی‌های یک زبان شی گرا استفاده کنند، بلکه این همکاری نزدیک بین موتور برنامه‌نویسی دات‌نت یعنی CLR (که مسؤول تبدیل کدهای نوشته شده دات‌نت به زبان سیستم‌عامل است) و موتور بانک اطلاعاتی SQLServer باعث شده تا به غیر از تنوع زبان‌های برنامه‌نویسی قابل استفاده درSQLServer، تغییر قابل توجهی نیز در کارایی ماژول‌های مذکور پیش آید. در واقع موضوع از این قرار است که اصولاً کدهای نوشته شده به زبان‌های دات‌نت، ابتدا توسط کامپایلر به زبان (IL) ترجمه می‌شوند. سپس CLR این کد میانی را به کد قابل فهم سیستم‌عامل تبدیل و آماده اجرا می‌نماید. این کار سبب می‌شود تا کدهای نهایی به دلیل این‌که بسیار به سیستم‌عامل نزدیک می‌باشد سریع‌تر از کدهای TSQL (که فقط توسط موتور بانک اطلاعاتی قابل اجرا هستند) اجرا شوند و در زمان اجرا از کارایی بیشتری برخوردار باشند. البته این مسأله بدین معنی نیست که استفاده از زبان‌های دات‌نت همیشه بر زبان‌های SQL ارجحیت دارد، بلکه منظور آن است که در برخی موارد ممکن است آن قدر منطق و الگوریتم یک ماژول پیچیده باشد که برنامه‌نویس استفاده از زبان‌های دات‌نت را به دلیل آسان‌تر بودن ساختار و دستورات آن به زبان SQL ترجیح دهد. بنابراین زمانی که بیشترعملیات یک ماژول مربوط به خواندن و نوشتن اطلاعات باشد بهتر است از همان دستورات استاندارد SQL یعنی SELECT ،UPDATE ،DELETE وINSERT استفاده کرده و بی‌جهت منابع سیستم را صرف تعریف متغیرها و کلاس‌های دات‌نت ننماید. اما در ماژول‌هایی که بیشتر عملیاتشان شامل پردازش اطلاعات مثل انجام عملیات‌های ریاضی یا مقایسه اطلاعات با یکدیگر است بهتر است تا هم از امکانات برنامه‌نویسی و هم از سرعت و کارایی بالای دات‌نت در این زمینه بهره برد و ماژول‌های مذکور را با زبان‌های دات‌نت پیاده‌سازی کرد.
ADO .NET وارد می‌شود
طبق یک سنت نه‌چندان قدیمی برنامه‌نویسی در محیط ویندوز، برنامه‌نویسان SQLServer، بانک اطلاعاتی موردنظرشان را برروی سرور و برنامه کاربردی نوشته شده با زبانی مثل ویژوال بیسیک را بر روی کلاینت‌ها قرار می‌دهند. سپس از طریق این برنامه کاربردی و با استفاده از اشیایی از جنس ADO داده‌های موردنیاز خود را از سمت سرور دریافت کرده و یا به آن ارسال می‌کنند. اکنون این ارتباط به لطف نسخه جدید SQLServer و همچنین محیط دات‌نت، با امکانات جدیدADO.NET بسیار کامل‌تر از قبل شده است. این ارتباط جدید با استفاده از مکانیسمی به نام اعلان (Notification) به یک ارتباط دو‌طرفه فعال تبدیل شده به طوری که ADO.NET قادر است پیغام‌هایی را از سمت پایگاه داده به سمت کلاینت ارسال کند. به عنوان مثال فرض کنید که شما با استفاده ازADO تعدادی از رکوردهای یک جدول بانک اطلاعاتی را انتخاب کرده و مشغول کار برروی آن‌ها هستید. در همین هنگام کاربر دیگری از طریق کلاینت و ADO خود، رکوردی در محدوده رکوردهای مورد انتخاب شما را تغییر می‌دهد یا حذف می‌کند. در این وقت موتور پایگاه داده با ارسال پیغامی به ADO شما، این مسأله را با استفاده از فراخوانی یک رخداد (Event) شی ADO به اطلاعتان می‌رساند.
علاوه براین قابلیت جدید، فناوری جدید دیگری هم با استفاده ازADO.NET به نسخه جدید SQLServer اضافه شده و آن امکان چند پرس‌وجوی همزمان توسط یک شی ADO است. در این شیوه اگر یک شی ADO با استفاده از دستور SELECT مشغول خواندن تعدادی از رکوردهای یک جدول بانک اطلاعاتی باشد، می‌تواند بدون این‌که منتظر به پایان رسیدن این عملیات شود، تعداد دیگری از رکوردهای یک جدول دیگر بانک اطلاعاتی را بخواند. این قابلیت جدید با نام (Multiple Active Result Set (MARS که قبلاً فقط در کرسرهای سمت سرور (server side) و آن هم نه با کارایی بالا وجود داشت اکنون در کرسرهای سمت راست کلاینت هم وجود دارد و تفاوت عمده آن با شکل قدیمی هم علاوه بر مورد مذکور، امکان ایجاد چند کرسر در یک شی ADO به صورت همزمان است. SQLServer نسخه 2005 به خوبی از تمام این ویژگی‌ها، پشتیبانی می‌کند.
تکنولوژی XML
اکنون که XML به یک استاندارد ارتباطی بین سکوهای مختلف تبدیل شده است، نسخه جدید SQLServer هم از توجه کافی به آن و ایجاد یک انقلاب در ساده‌تر استفاده کردن از آن طفره نرفته است. در نسخه 2000 کاربران قادر بودند تا با استفاده از دستور FOR XML نتیجه یک پرس‌وجوی SELECT از یک بانک اطلاعاتی را به درون یک فایل XML بریزند یا مثلاً با دستور OPEN XML می‌توانستند یک فایل XML را باز کرده و شروع به خواندن دستورات درون آن نمایند.
از آن‌جا که در نسخه جدید SQLServer توجه خاصی به این استاندارد و زبان ارتباطی شده است، یک نوع داده جدید (Data type) به انواع داده‌های قبلی و استاندارد SQL مثل int ، char و امثال آن اضافه شده است. این نوع داده جدید که XML نام دارد و دارای خصوصیات یک نوع داده موجود در یک محیط شی‌گرا است، دارای متدهای پیشرفته‌ای چون ()nodes() ،Value() ،exist() ،query و ()modify بوده و قادر است انواع پردازش‌های قابل انجام برروی اسناد XML را به راحتی انجام دهد. عملیات جستجو، تغییر، حذف و درج مقادیر موردنظر در داخل یک فایل XML را می‌توان با استفاده از متدهای مذکور و صرفاً با چند خط برنامه‌نویسی انجام داد. همچنین در این نسخه برخلاف نسخه 2000، با استفاده از دستور FOR XML می‌توان یک شیء از جنس XML را بدون ارسال آن به کلاینت، برروی سرور ساخته و از آن نگهداری کرد. با این کار می‌توان جداولی را که مرتباً مورد رجوع کاربران قرار می‌گیرند هراز گاهی در قالب XML به داخل حافظه آورد و کاربران مذکور به جای رجوع به جداول اصلی در هارددیسک، با استفاده از دستورات ویژه جستجو درXML ، متغیر مذکور را در حافظه سرور مورد جستجو قرار دهند و بدین‌وسیله یک نوع عمل Cache کردن را جهت افزایش سرعت دسترسی به اطلاعات تکراری شبیه‌سازی کنند. در این حالت، کاربران به جای استفاده از دستورSELECT استاندارد می‌توانند از OPEN XML که در نسخه 2005 قادر است متغیرهای جدید از نوع XML را بخواند استفاده کرده و به سرعت به اطلاعات موردنیاز خود دسترسی پیدا کنند. این قابلیت جدید آن‌قدر در سریع‌تر کردن جستجو در برنامه‌های تحت وب مهم و مؤثر است که جای هیچ مشکلی را در استفاده از آن باقی نمی‌گذارد.
سرویس اعلان (Notification)
همان‌طور که گفتیم سیستم اعلان درSQLServer قادر است پیغام‌هایی را طی زمان‌های مشخص به سمت کاربران بفرستد. مثلاً تصور کنید که تعدادی کاربر در حال اتصال به یک بانک حاوی اطلاعات مربوط به ارزش سهام در بورس هستند. از آن‌جایی که ممکن است قیمت سهام هر شرکت یا مؤسسه برای تعدادی از کاربران از اهمیت زیادی برخوردار باشد، می‌توان این سیستم را طوری تنظیم کرد تا هرگاه ارزش سهام خاصی که موردنظر هر کاربر است تغییر کرد، به صورت اتوماتیک به وی اعلام شود. کاربر هم می‌تواند این تغییرات را برروی برنامه کاربردی خود، تلفن همراه (در قالب Windows Messenger ،(SMS و یا ایمیل به‌صورت مرتب دریافت و مشاهده کند.
سرویس گزارش‌گیری
سرویس جدید تولید گزارش‌های متنوع در نسخه 2005 به یکی از جالب‌ترین و پرکاربردترین قابلیت‌های این نسخه تبدیل شده است، وجود یک موتور گزارشگر قوی در سمت سرور و یک ابزار مناسب ساخت گزارش با واسط کاربر عالی، باعث شده تا برنامه‌نویسان بتوانند گزارش‌های موردنظر خود را با کارایی و سرعت مناسب در سمت سرور بسازند به طوری که این گزارش‌های سمت سرور توسط هر برنامه کاربردی سمت کلاینت در هر پلتفرمی با همان امکانات اتصال به SQLServer قابل مشاهده است.
بهبودهای ایجاد شده در زبان
در 2005 SQLServer تغییرات بسیار مثبتی در زبان SQL T ایجاد شده است. این تغییرات در زمینه‌های مختلف مثل مدیریت خطاها، جستجوهای بازگشتی (Recursive Query) و حتی در بدنه موتور پایگاه داده‌ها انجام شده و کارایی کلی ذخیره و یا خواندن اطلاعات را به نحو مطلوبی افزایش داده است. به عنوان مثال دردستورات
TSQL، دو اپراتور جدید دیده می‌شود، که PIVOT وUNPIVOT نام دارند. این دو اپراتور که در قسمت FROM یک پرس‌وجو مورد استفاده قرار می‌گیرند می‌توانند نتیجه یک جستجوی انجام شده توسط دستور SELECT را به جای برگرداندن در قالب ردیف‌ها یا رکوردهای پشت‌سرهم، به صورت ستون‌های مختلف یک یا چند رکورد برگردانند. در این روش یکی از ستون‌های (فیلدهای) یک جستجو به عنوان محور معرفی شده و بقیه ستون‌ها براساس آن به صورت افقی طبقه‌بندی می‌شوند. به یک مثال توجه کنید:

SELECT CUSTOMER ID, order No
FROM orders PIVOT CustomerID
Order No Order No Order No Order No Customer ID
4400 1120 25 1
350 2
1780 443 3
8989 2222 1980 555 4
نتیجه جستجوی فوق چیزی شبیه جدول بالا‌ خواهد بود

همان‌طور که مشاهده می‌کنید با استفاده از اپراتور مذکور، نتیجه پرس‌وجوی انجام شده به این صورت که هر ردیف به یک شماره مشتری و چندین شماره سفارش مربوطه به آن مشتری در قالب ستون‌های مختلف است، در می‌آید. این همان چیزی است که سال‌ها درSQLServer وجود نداشت و ابزارهای مختلف گزارش‌سازی مثل CrystalReport آن را با نام Cross Tab به کاربران خود ارایه می‌دادند. در همین رابطه اپراتورUNPIVOT هم عمل عکس اپراتور مذکور را انجام می‌دهد.
اپراتور دیگری که می‌تواند نقش مهمی را در دستورات SQL بازی کند APPLY نام دارد که در قسمت FROM یک دستور SQL به کار می‌رود. با استفاده از این دستور می‌توان خروجی یک تابع (Function) را با یک یا چند جدول دیگر ترکیب (Join) کرد همان‌طور که می‌دانید در 2005 SQLServer توابع می‌توانند یک یا چند ردیف یک جدول اطلاعاتی را برگردانند که این خروجی می‌تواند با یک جدول دیگر با استفاده از اپراتور مذکور ترکیب شود.
مدیریت خطا
در نسخه‌های قدیمی SQLServer برای کشف و مدیریت خطا از سیستم Error Handling استفاده می‌شد. این شیوه کشف خطا که در زبانی مثل ویژوال بیسیک 6 هم مورد استفاده قرار می‌گرفت با استفاده از دستور GOTO می‌توانست کنترل و خط اجرای روال را از یک محل به محل دیگر و در واقع از محل بروز خطا به محل مدیریت و آشکار کردن (Raise) آن ببرد و بدین‌وسیله پیغام خطایی را به کار نشان دهد. نسخه جدید SQLServer با تأثیر از پلتفرم دات‌نت، از دستورات ویژه کشف و مدیریت خطا با عنوان Exception Handling استفاده می‌کند. این روش با استفاده از دستورات جدید TRY/CATCH شیوه بهتری از مدیریت خطا را به اجرا می‌گذارد. در این روش برخلاف روش قبل، تمام خطاهای اتفاق‌افتادنی مثل خطاهای مربوط به تبدیل داده‌ها به یکدیگر (DataConversion) به خوبی مدیریت شده و از بروز خطاهایی که منجر به اتمام ناقص عملیات یک روال یا تریگر می‌شود جلوگیری به عمل می‌آی

 -----------------------------------------------------------------------------------------------------

شناخت عبارت INSERT

ساختار دستور عبارت Insert شبیه به عبارت Select می باشد، بیشترین شکل مبنای آن عبارت است از:

INSERT [INTO] Table-or-View [(Column-List)]

VALUES (Value-List)

هر عبارت Insert می تواند یک جدول یا نما منفرد را به هنگام سازد. زمانی که شما از عبارت Insert برای به هنگام سازی یک نما استفاده می کنید شما باید آگاه باشید از محدودیتهای زیر:

View نباید شامل یک تابع به هم پیوسته مانند COUNT یا AVG باشد.

View نباید شامل Top ، GROUP BY ، UNION یا DISTINCT باشد.

View نباید شامل یک ستون محاسبه شده باشد.

View باید یک جدول را در شرط From باز گرداند.

عبارت Insert ستونهای یک جدول منفرد را فقط به هنگام می سازد.

لیست ستون در عبارت Insert اختیاری می باشد. اگر آن فراهم نگردد عبارت Insert باید شامل مقادیری برای همه ستونها در جدول یا نما باشد و آنها باید به همان ترتیب به عنوان ستونهایی در جدول یا نما فراهم شوند. اگر چه شما می توانید از کلیدهای ویژه DEFAULT برای مشخص کردن مقادیر پیش فرض برای یک سطر استفاده کنید. زمانی که لیست ستون گنجانده می شود. آن یک فرمت شبیه از لیست ستون در عبارت Select  می گیرد: یک لیستی از نامهای ستون که با کاما جدا شده است. از زمانی که یک عبارت Insert می تواند یک سطر را فقط برای یک جدول اضافه کند، شما معمولاً نیاز به استفاده کردن مشخصه نام جدول برای نام ستون نخواهید داشت.

 

استفاده کردن از عبارت INSERT

یک عبارت Insert می تواند با استفاده کردن از قاب Grid برای مشخص کردن ستونها یا با استفاده کردن قاب SQL برای وارد کردن مستقیم عبارت ایجاد گردد.  

 

 

 

درج کردن سطرها با استفاده از قاب Grid

قاب Grid احتمالاً آسانترین راه برای ایجاد یک عبارت Insert می باشد از زمانی که یاد آوردن هر ساختار دستور مورد درخواست شما نباشد.

 

درج کردن یک سطر با استفاده از قاب Grid

1- پوشه Tables را از پایگاه داده Aromatherapy راهبری کرده، جدول Oils را در قاب Details کلیک راست می کنیم. در زیر منوی Open Table رفته و Query را انتخاب می کنیم. Query Designer همه چهار قاب نشان داده شده را باز می کند.


راهنمایی: فرمان Query در Open Table یا زیر منوی Open View یک راه سریعی برای باز کردن  Query Designer با همه قابهای نشان داده شده می باشد. اگر چه حالت SQL پیش فرض SELECT*FROM <Table-or-View> می باشد Query اجرا نمی گردد بنابراین هیچ سطری باز نخواهد گشت.

2- قاب SQL و قاب Results را پنهان می سازیم.


 

 

3- دکمه Change Query Type را در نوار ابزار Query Designer کلیک می کنیم و Insert را از لیست انتخاب می کنیم. Query Designer قاب Grid را تغییر می دهد بنابراین آن فقط ستون و سل ها با مقادیر جدید را نشان می دهد.


4- ستون OilName را برای قاب Grid اضافه کرده و مقدار جدیدش را InsertFromGrid قرار می دهیم.


5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کلیک می کنیم. Query Designer یک متنی را نشان می دهد که سطر اضافه شده برای جدول را تأیید می کند.

 

6- OK را برای بستن جعبه متن کلیک می کنیم. بدون بستن Query Designer یک نمای جدید از جدول Oils با کلیک راست کردن جدول Oils در قاب Details باز می کنیم. بر روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنیم. یک نمونه جدید از Query Designer باز می شود و همه سطرها در جدول Oils را نشان می دهد.

7- پایین آوردن Scroll به آخر جدول این موضوع را تأیید می کند که یک سطر جدید اضافه شده است.

مهم: OilID در پایگاه داده تان احتمالاً با ID که خودمان وارد می کنیم تطابق ندارد. به یاد داشته باشید که OilID به عنوان یک Identity Column تعریف می گردد. موجودیت ستونها SQL Server ضمانت  می کند که یکپارچه باشند اما آنها ضرورتاً پی در پی نمی باشند.

 
درج کردن سطر با استفاده از قاب SQL

اگر چه قاب Grid یک روش ساده برای ایجاد عبارت INSERT فراهم می سازد به طور معمول از قاب SQL برای وارد کردن عبارت به طور مستقیم که قابلیت بیشتر ایجاد می کند استفاده می کنیم.

---------------------------------------------------------------------------------------------------

انواع داده ها

هر ستون در جدول دارای خصوصیات معین می باشد كه آن را برای SQL Server تعریف می كند. مهمتر از این خصوصیات، نوع داده های ستون می باشد، كه تعریفی از نوع اطلاعاتی كه درستونها ذخیره خواهند شد می باشد. SQL Server یك محدوده وسیعی از انواع داده ها را فراهم آورد . به طور كلی انواع داده ها به وسیله SQL Server فراهم می گردد، همچنین شما می توانید خودتان تعریف كنید.

 

 

مقادیر قابل قبول   انواع داده

  مقادیر عددی 

مقادیر اعداد صحیح از 63^2- تا1-63^2      bight

مقادیر اعداد صحیح از 31^2- تا 1-31^2      Int

مقادیر اعداد صحیح از 15^2- تا 1-15^2      Smallint

مقادیر اعداد صحیح از 0 تا 255      Tinyint

مقادیر اعداد صحیح با ارزش 0 و 1     bit

مقادیر مقیاس با دقت ثابت شده از 1+38^10 تا 1-38^10     decimal

مقادیر  Decimal همچنین می تواند تعریف شود به صورتNumeric  ، دامنه مقادیر یكسان می باشد.

مقادیر Monetary (مالی) از 63^2- تا 1-63^2 (مقادیر Money تا 0.0001 از هرواحد دقت دارد). Money

مقادیرMonetary از 3648 . 748 . 214- تا 3647 . 748 . 214 می باشد Smallmoney

(مقادیر Small Monetary تا 0001/0 واحد دقیق می باشد).

مقادیر صحیح شناور (متغیر) از 308+E1.79- تا 308+E1.79 (مقادیر Float فقط تقریبی می باشد) Float  

مقادیر صحیح شناور متغیر از 38+E3.40- تا 38+E3.40 می باشند (مقادیر real فقط تقریبی می باشد) real 

مقادیر تاریخ و زمان از 1.1753 ژانویه تا 31.9999 دسامبر می باشد datetime  

(مقادیر Date Time تا 3 هزارم ثانیه یا 3.33 میلی ثانیه دقت دارد)   Smalldatedtime  

مقادیر تاریخ و زمان از 1 ژانویه و 1900 تا 6 ژوئن و 2079 می باشد (مقادیرSmalldatetime  تا 1 دقیقه دقت دارند)

 مقادیر کاراکتری  

مقادیر حرفی كدگذاری نشده با طول ثابت با طول حداكثر 8000 حرف می باشد.    Char

مقادیر حرفی كدگذاری نشده با طول متغیر با طول حداكثر 8000 حرف می باشد.   Varchar

داده كدگذاری شده با طول متغیر با طول حداكثر 1-31^2 (647 . 741 . 073 . 1) حرف می باشد. Text

داده كدگذاری شده با طول ثابت با طول حداكثر 4000 حرف می باشد     Nchar

داده كدگذاری نشده با طول متغیر با حداكثر طول 4000 حرف می باشد       nvarchar

داده كدگذاری شده با طول متغیر با حداكثر طول 1-30^2 (823 . 741 . 073 . 1) حرف می باشد ntext

  مقادیر باینری (1 و 0)

داده باینری با طول ثابت با حداكثر طول 8000 بایت می باشد    binary

داده باینری با طول متغیر با حداكثر طول 8000 بایت می باشد     Varbinary

داده باینری با طول متغیر با حداكثر طول 1-31^2 (647 . 783 . 147 . 2) بایت می باشد Image  

  مقادیر دیگر

یك مرجع مبناء برای یك Cursor می باشد (یكCursor  یك ماهیتی است كه یك مرجع مبناء را برای یك سطر مشخص در یك Result Set نشان می دهد.    Cursor 

یك شمار واحد پایگاه داده است كه به هنگام می شود هر زمانی كه یك سطر به هنگام شود. (نوع داده  rowversion در نسخه قبلی از Timestamp SQL Server نامیده می شود) rowversion

مقادیری از هر نوع غیر از text ، ntext ، rowversion (timestamp) و sql - variant می باشد. یك معرف واحد کلی GUID می باشد.  Uniqveidentifier

 

 

جمعه 3/7/1388 - 2:58
مورد توجه ترین های هفته اخیر
فعالترین ها در ماه گذشته
(0)فعالان 24 ساعت گذشته