نمایش نتایج 1 تا 6 از 6

نام تاپیک: وجود یک رکورد خاص در جدول

  1. #1
    کاربر تازه وارد آواتار barnamenevisjma
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    بجنورد
    پست
    93

    Question وجود یک رکورد خاص در جدول

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

  2. #2

    نقل قول: وجود یک رکورد خاص در جدول

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

    if Exists(select id from table1 where id=10)
    ...

    با این دستور شما بررسی میکنید که مثلا از جدول table1 رکوردی با شماره 10 هست یا نه.اگر بود ادامه دستورات شما رو انجام میده.

  3. #3

    نقل قول: وجود یک رکورد خاص در جدول

    دستورات زيادي ميشه واسه اين كار نوشت
    IF EXISTS(Select * From TableName Where ID = @Id)
    Select 1 as Result
    else
    Select 0 as Result

    --OR

    Select Count(*) as Result From TableName Where ID = @Id

    --OR

    Select Id From TableName Where ID = @Id

  4. #4

    نقل قول: وجود یک رکورد خاص در جدول

    Select Count(*) as Result From TableName Where ID = @Id
    البته بهتره از Count استفاده نشه. چون این دستور یک بار کل جدول رو Scan میکنه تا به رکورد مورد نظر برسه و از لحاظ Performance بازده خوبی نداره.

  5. #5
    کاربر تازه وارد آواتار barnamenevisjma
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    بجنورد
    پست
    93

    Question نقل قول: وجود یک رکورد خاص در جدول

    با سلام
    if Exists(select id from table1 where id=10)
    ...
    کاملا درست می فرمایید. من هم به همین صورت کار کردم. ولی این Query روی شبکه اجرا خواهد شد و نمی خواهم اطلاعات اضافی و غیر ضروری(فیلدی که دستور select برمیگرداند) را سربار شبکه کنم. راهی برای این کار وجود دارد؟ یا اینکه باید به همین صورت عمل کنم.

  6. #6

    نقل قول: وجود یک رکورد خاص در جدول

    اين پردازش ها روي سرور انجام ميشه و اطلاعاتي روي شبكه فرستاده نميشه ، خروجي 0 يا 1 حداكثر 2 بايت فضا ميگيره (در صورتي كه به بيت تبديلش كنيد كه 1 بايت ميگيره) پس سرباري به شبكه وارد نميكنه.
    در ضمن معمولا توي برنامه هاي تحت شبكه سربار شبكه چندان مد نظر نيست (بدليل امكانات سخت افزاري جديد) و سربار سرور مورد توجه قرار ميكيره.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •