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

نام تاپیک: افزودن رکورد به جداول بانك اطلاعاتي بوسيله ADO.Net در معماری سه لایه

  1. #1

    Smile افزودن رکورد به جداول بانك اطلاعاتي بوسيله ADO.Net در معماری سه لایه

    با سلام

    مطلب زیر نوشته مهندس ابوذر نوذری از pdf مفاهیم معماری سه لایه هستش.

    خواهش میکنم مطلب رو بخونید:

    افزودن رکورد به جداول بانك اطلاعاتي بوسيله ADO.Net
    فرآيند افزودن داده به يك جدول داراي مراحلي است كه وابستگي زيادي بين آنها وجود دارد.
    بدين معنا كه انجام يك مرحله منوط به درست انجام شدن مرحله يا مراحل قبل است. براي اينمنظور مراحل زير بايد درنظرگرفته شده واجراشوند

    1-يک کلاس DataTableمشابه نام جدول فيزيكي موجود درپايگاه داده ميسازيم.
    2-آنرا به يك شيئ DataSet اضافه می کنيم
    3-شيئ DataSet را ازداده هاي درون پايگاه داده پرميكنيم
    4-يك شيئ جدید Row ازکلاس dataTable مشتق کرده و می سازیم.
    5-ستونها يا به عبارت ديگر فيلدهاي آنرا باداده هاپرميكنيم
    6-Row ايجادشده وپرشده رابه جدول اضافه ميكنيم
    7-وقتيكه تمام رديفها به شكل فوق اضافه شدند،پايگاه داده رابوسيله تغيير شيئ DataTable به هنگام مينماييم

    پروسه فوق،درقالب كد،روندي به شكل زيرخواهدداشت .



    DataSet dset = new DataSet(tableName); //create the data set
    dtable = new DataTable(tableName); //and a datatable
    dset.Tables.Add(dtable); //add to collection
    conn = db.getConnection();
    openConn(); //open the connection
    OleDbDataAdapter adcmd = new OleDbDataAdapter();
    //open the table
    adcmd.SelectCommand =
    new OleDbCommand("Select * from " + tableName, conn);
    OleDbCommandBuilder olecb = new OleDbCommandBuilder(adcmd);
    adcmd.TableMappings.Add("Table", tableName);
    //load current data into the local table copy
    adcmd.Fill(dset, tableName);
    //get the Enumerator from the Hashtable
    IEnumerator ienum = names.Keys.GetEnumerator();
    //move through the table, adding the names to new rows
    while (ienum.MoveNext()) {
    string name = (string)ienum.Current;
    row = dtable.NewRow(); //get new rows
    row[columnName] = name;
    dtable.Rows.Add(row); //add into table
    }
    //Now update the database with this table
    try {
    adcmd.Update(dset);
    closeConn();
    filled = true;
    }
    catch (Exception e) {
    Console.WriteLine (e.Message);
    }
    درتكه كدفوق،ماابتداجدول راازپايگاه داده واكشي نموديم،سپس تغييرات مورد نظر را روي آن انجام داديم. ودرآخرهم بوسيله به هنگام سازي تغييرات رابه پايگاه داده اعمال نموديم . شايان ذكر است كه براي ويرايش ياحذف يك رديف ازجدول نيز همين روند تكرار ميگردد.


    سوال:
    آیا این روش هرینه زیادی ندارد؟
    یعنی اینکه مدام اطلاعات داخل این جدول را در DataSet کپی کنیم تا بتوانیم یک رکورد اضافه کنیم.
    فرض کنید جدولی داریم با 750000 رکورد. همانطور که میدانید جستجوی رکوردی در این جدول کار آسانی نیست. یا کمترین زمان جستجو در داخل این جدول 1 دقیقه است. اگر بخواهیم مدام با این روش رکوردهایی را ایجاد ، حذف و یا ویرایش کنیم زمان زیادی را صرف خواهیم کرد. و مطمئنا هیچ کاربری حوصله کار با چنین دیتابیسی نخواهد داشت.

    نظر شما چیه؟

    متشکر
    علی پاییزی




  2. #2
    کاربر دائمی آواتار javad_r_85
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    590

    نقل قول: افزودن رکورد به جداول بانك اطلاعاتي بوسيله ADO.Net در معماری سه لایه

    سلام با تشکر از مطلبتون اگر می شه فقط یه ذره خوانا تر می نوشتی اگرم کپی پیست کردی بین کلمات فاصله می زاشتی تا میشد راحت خوندش

  3. #3

    نقل قول: افزودن رکورد به جداول بانك اطلاعاتي بوسيله ADO.Net در معماری سه لایه

    لینک دانلود pdf مربوطه:
    http://www.barnamenevis.org/sh...d.php?t=243686

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

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