۱۳۸۸ تیر ۲۷, شنبه

پیدا کردن nمین سطر از یک جدول

با استفاده از این کد میتونین nاومین سطر یک جدول رو بازیابی کنید.

select * from (


select ROW_NUMBER() OVER (ORDER BY TableID) ROWNUMBER ,* from [Your Table]) t2


where t2.ROWNUMBER =شماره سطر


۱۳۸۸ تیر ۱۶, سه‌شنبه

آموزش SQL Server 2005 قسمت پنجم

سلام
این هم قسمت پنجم آموزش :
ایجاد و تغییر جداول

۱۳۸۸ تیر ۱۵, دوشنبه

آموزش SQL Server 2005 قسمت چهارم (انواع JOIN )

سلام دوستان
این هم قسمت چهارم آموزش SQL Server : انواع JOIN
Joins

۱۳۸۸ تیر ۱۴, یکشنبه

تفاوت بین scope_identity()و @@Identity و ident_current

سلام
شاید بعد از اینکه رکوردی رو در یک جدولی که فیلدی از نوع Identity داره اضافه کردین بخواهین که مقدار جدید اون فیلد رو بگیرین.سه راه برای این کار وجود داره و در اینجا تفاوت این راهها رو بررسی میکنیم:
در ابتدا باید دو مفهوم رو توضیح بدم: 1-جلسه یا Session و 2- حوزه دید یا Scope
Session: معرف کانکشنی است که دستور در آن اجرا میشود
Scope: معرف محلی است که دستور در آن وجود دارد

به عنوان مثال:دو دستوری که در یک روال ذخیره شده ذخیره میشوند در یک Scope قرار دارند و دو روال ذخیره شده ای که در یک کانکشن اجرا میشوند در یک Session قرار میگیرند.
با توجه به این مفاهیم :
@@IDENTITY : آخرین مقدار identity رو در session فعلی و در هر حوزه ای برمیگرداند.
scope_identity(): آخرین مقدار identity رو در session فعلی و در حوزه فعلی را برمیگرداند.
ident_current(): آخرین مقدار identity رو در هر session و در هر حوزه ای برمیگرداند.

۱۳۸۸ تیر ۷, یکشنبه

۱۳۸۸ خرداد ۱۷, یکشنبه

تست کردن در IE6 وقتی که IE7 رو نصب کردی

سلام دوستان
گاهی اوقات شمایی که دارین طراحی وب سایت میکنین روی سیستمتون IE7 نصب کردین.حتما میدونین که IE6 با 7 در بعضی از موارد همخونی ندارن و سایتی که تو 7 درست نمایش داده میشه تو 6 لزوما درست نمایش داده نمیشه.
برای اینکه بتونین همزمان این دو تا داشته باشین میتونین برنامه Multiple IE رو دانلود و سپس نصب کنین و IE6 رو هم همزمان رو سیستمتون داشته باشید
موفق باشید

۱۳۸۸ خرداد ۹, شنبه

System.Nullable : متغیرها هم میتوانند نال بپذیرند

سلام
گاهی اوقات ما متغیرهایی از نوع Numeric ، Bool ، DateTime داریم که علاوه بر مقادیر مناسبی که ممکنه بگیرن میتونن Null هم بگیرن. خوب همه شما میدونین که اگر کد زیر رو بنویسیم به ارور برمیخوریم:


Int32 myVar = null; //error: myVar cannot be set to null

این خطا به این دلیله که در حالت عادی این گونه متغیرها نمیتونن مقادریر Null بپذیرن. برای حل این مشکل میتونیم از System.Nullable استفاده کنیم که علاوه بر مقدیر مناسب Datatype میشه Null رو هم بهش نسبت داد.
شکل کلی تعریف یک متغیر به صورت Nullable به دوصورت زیر است:

Nullable<T> myVar = null;

یا


T? myVar = null;

که در اینجا T یک Datytype هست.مثال:

Nullable<Int32> myVar = null;

یا

Int32? myVar = null;

اگر بخواهیم یک متغیر Nullable رو به یک متغیر عادی تسبت بدیم باید از عملگر ?? استفاده کنیم تا بتونیم به متغیر نال پذیر مقدار پیش فرض بدیم.به مثال زیر دقت کنید:


// ?? operator example.

int? x = null;

// y = x, unless x is null, in which case y = -1.

int y = x ?? -1;


در اینجا میگیم اگر x نال نبود که هیچی اما اگر نال بود بجاش -1 رو بریز تو y.
چند مثال:

System.Nullable<int> i1 = 0;

System.Nullable<int> i2 = null;

int i3 = 0;

if (i1 == i2)

{
System.Console.WriteLine("i1 and i2 are the same");
}
else
{
System.Console.WriteLine("i1 and i2 are different");


}

if (i1 == i3)
{
System.Console.WriteLine("i1 and i3 are the same");
}
else
{
System.Console.WriteLine("i1 and i3 are different");
}

خروجی قطعه کد بالا بصورت زیر هست:

i1 and i2 are different

i1 and i3 are the same


مثال 2:


System.Nullable<int> i1 = null;

try

{

System.Console.WriteLine("The value is {0}", i1.Value);

}

catch

{

System.Console.WriteLine("null causes an exception");

}

i1 = 1;

try

{

System.Console.WriteLine("The value is {0}", i1.Value);

}

catch

{

System.Console.WriteLine("1 causes an exception");

}


خروجی بصورت زیر است:




null causes an exception

The value is 1


مثال 3: نسبت دادن یک مقدار متغیر نال پذیر در صورتی که نال باشد:



int DefaultIfNull(System.Nullable<int> i)

{

int retVal;

if (i.HasValue)

{

retVal = i;

}

else

{

retVal = 1;

}

return retVal;

}

int DefaultIfNull(System.Nullable<int> i)

{

return i ?? 10;

}


تابع HasValue چک میکنه که آیا یک متغیر نال پذیر مقدار نال دارد یا خیر.
مثال 4: پارامتر نال پذیر:


private void button1_Click(object sender, EventArgs e)

{

bool b=true;

b = nima(null);

MessageBox.Show(b.ToString());

b = nima(2);

MessageBox.Show(b.ToString());

}

private bool nima(int? i)

{

if (i == null)

return false;

else

return true;

}


نکته 1: از نوع string نمیشه در متغیرهای نال پذیر استفاده کرد چون استرینگ یک رفرنس هست به رشته ای از کاراکترها
نکته 2: یکی از بهترین استفاده های این متغیرها وقتی است که شما میخواین از ستونی در جدولتون اطلاعات بخونین که میتونه مثادیر نال داشته باشه.