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

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

Threaded View

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

    Lightbulb ايجاد Parameters - روش سوم{استفاده از ADODB.Parameter}

    روش سوم- استفاده از ADODB.parameter:
    اين روش درواقع يه جورهايي به دو روش قبلي مربوط ميشه يعني ADODB.Command اما به
    طور غير مستقيم. يكم اين روش نياز به دقت داره وگرنه سخت نيست. اول بايد ببينيم كه دستور SQL مورد نظر ما چند تا Parameters نياز داره و به همون تعداد متغير از نوع ADODB.Parameter تعريف مي كنيم. به عنوان مثال من مي خوام يك دستور Update رو بنويسم و اين دستور من حداقل دو تا parameters نياز داره:

    Public Parameters1 As ADODB.Parameter
    Public Parameters2 As ADODB.Parameter
    حالا دستور مورد نظر رو مي نويسيم. مثلاً:

    Cmd.CommandType = adCmdText
    Cmd.CommandText = "Update tblTest SET Field1=@Field1 WHERE Field2=@Field2"
    حالا بايد parameters رو به متغيرمون Set كنيم:

    Set Parameters1 = Cmd.CreateParameter("@Field1", adInteger, adParamInput)
    Set Parameters2 = Cmd.CreateParameter("@Field2", adInteger, adParamInput)
    حالا دوباره بر مي گرديم سراغ ADODB.Command و از خاصيت Parameters اون دوباره استفاده مي كنيم با اين تفوت كه از متد Append اون استفاده مي كنيم:

    Cmd.Parameters.Append Parameters1
    Cmd.Parameters.Append Parameters2
    مقداردهي Parameters هاي ساخته شده:
    اما حالا نوبت به مقدار دهي Parameters ميشه. از تابع Array كه همه باهاش آشنايي دارن استفاده كنيم.



    Set Rst = Cmd.Execute(, Array(Value1, Value2))
    به طور مستقيم اينجا مقادير رو وارد Cmd.Execute مي كنيم. درواقع شكل كلي دستور به اين صورت هستش:

    Cmd.Execute (RecordAffected,Parameters,Option As Long=-1)
    كه هر سه آرگومان اختياري هستن.

    Cmd.CommandType = adCmdText
    Cmd.CommandText = "Update tblTest SET Field1=@Field1 WHERE Field2=@Field2"


    Set Parameters1 = Cmd.CreateParameter("@Age", adInteger, adParamInput)
    Cmd.Parameters.Append Parameters1
    Set Parameters2 = Cmd.CreateParameter("@Code", adInteger, adParamInput)
    Cmd.Parameters.Append Parameters2
    .
    .
    .
    Set Rst = Cmd.Execute(, Array(Value1, Value2))
    آخرین ویرایش به وسیله vbhamed : پنج شنبه 28 اردیبهشت 1396 در 08:29 صبح

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

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

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