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

نام تاپیک: پایگاه داده در ویژوال بیسیک - شروع تا پایان

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #4

    Lightbulb ايجاد Parameters - مقدمه

    ايجاد Parameters:
    فرض كنيد كه مي خواين يه دستور SQL رو بنويسيد كه مي خواد عمل حذف كردن يك ركورد رو بر اساس تست يك شرط انجام بده. خوب طبيعتاً مي نويسيم:

    Delete From TblTest WHERE ID = 5
    اين دستور ركورد شماره پنجم جدول tblTest رو پاك مي كنه. حالا در برنامه ما نمي دونيم كه كدوم ركورد بايد پاك بشه و مي خوايم اين امكان در برنامه قرار داده بشه كه كاربر خودش يك مقداري رو دلخواه وارد كنه و ركورد مورد نظر پاك بشه. اين ورودي مي تونه از طريق نوشتن در يك TextBox باشه، مي تونه انتخاب يك گزينه از ComboBox يا ListBox باشه، مي تونه انتخاب يك سطر از DataGrid يا MSFlexGrid باشه يا هر كنترل ورودي ديگه اي كه اين مقدار رو به شرط دستور SQL مي ده. مي نويسيم:

    "Delete From TblTest WHERE ID = " + Val(Trim(Text1.Text))
    حالا فرض كنيد مي خوايم يه دستور Update بنويسيم كه قراره فيلدها رو با يك Select تودر تو مقدار دهي كنه و اين Select تودر تو با كنترل هاي ورودي برنامه فيلدهاش مقداردهي ميشه و دوباره در پايان دستور Update يه شرط وجود داره كه اون هم بايد از يه TextBox يا DataGrid گرفته بشه. آيا به نظر شما بازهم بايد به روش بالا كد نوشت؟ يعني بيايم اين رشته ها رو تيكه تيكه به هم بچسبونيم؟؟
    اين روش خيلي خيلي اشتباه هستش به چند دليل:

    1. خوانايي كد بسيار پايين مياد
    2. امكان اشتباه نوشتن و خطاي ديد بسيار بالا ميره
    3. خطايابي يا اشكالزدايي دستور خيلي سخت ميشه
    4. استاندارد نيست

    چي كار بايد كرد؟ درستش اينه كه از خود Syntax دستور SQL استفاده كنيم. يعني بنويسيم:

    Insert Into tblTest (Field1,Field2) Values (@Field1,@Field2)
    ...
    More SQL Command's....
    در دستور SQL علامت @ يا آقا دورت بگردم مياد يه متغير ايجاد مي كنه. حالا ما بايد اين Syntax دستورات SQL رو در Visual Studio پياده سازي كنيم. چي جوري؟ اينجا مساله هستش كه چي جوري ميشه يه زبان ديگه رو با يه زبان ديگه ادغام كرد؟ ADODB اين امكان رو به ما مي ده كه اين متغيرهاي به جا مانده از دستورات SQL رو به صورت Parameters از VB6 به SQL پاس بديم.
    در كل به 3 روش (شايد بيشتر) ميشه اين parameters ها رو مقداردهي كرد.

    نكته اي كه شايد باعث بشه اين پست كمي گمراه كننده به نظر بياد اين هستش كه اشيا ADODB خيلي از خاصيت هاشون با هم مشترك هستش يعني با هم هيچ فرقي نمي كنن براي همين برنامه هاي پايگاه داده رو ميشه به چندين چند روش نوشت. ما بايد از تمامي امكانات برنامه نويسي استفاده كنيم.
    آخرین ویرایش به وسیله اوبالیت به بو : پنج شنبه 24 بهمن 1387 در 17:57 عصر

برچسب های این تاپیک

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

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