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

نام تاپیک: تغییرات صورت گرفته در DataSet

  1. #1
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632

    تغییرات صورت گرفته در DataSet

    با سلام.
    فرض کنید در DataGridای که یک DataTable را نمایش میدهد تغییراتی اعمال کرده ایم، چند سطر را حذف و یا اضافه کردایم، برای update کردن بانک، چگونه میتوان این تغییرات را بدست آورد؟
    با getChanges فقط تغییراتی که در Cell های dataGrid رخ داده باشد بدست میآید.
    با احترام.

  2. #2
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111
    متد GetChanges شی datatable یک جدول از تغییرات را که به شما میدهد

  3. #3
    سلام دوست عزیز
    متد GetChanges دارای آرگومانی میباشد که یکی از مقادیر ثابت شمارشی DataRowState را دریافت کرده و بر اساس آن سطرهای تغییرداده شده را بصورت یک DataSet در اختیار شما قرار میدهد .
    I've just started tweeting!
    @Alireza_Maddah

  4. #4
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    با تشکر از جوابتون میشه بیشتر توضیح بفرمایید؟ مثلا مقادیر ثابت شمارشی چیست؟

  5. #5
    مقادیر ثابت شمارشی، مقادیر ثابت و از پیش تعریف شده ای هستند که یک آرگومان تنها اونها رو می پذیره...
    برای متد GetChanges، این مقادیر شامل:

    Added
    Deleted
    Detached
    Modified
    Unchanged

    هستند.
    به عنوان مثال، تکه کد زیر، یک دیتاست با نام dsModified با مقادیر اصلاح شده در دیتاست Ds را بر می گرداند:

    if (ds.HasChanges()) Then
    Dim dsModified As DataSet = ds.GetChanges(DataRowState.Modified)

    نکته 1: همیشه متد HasChanges رو قبل از متد GetChanges برای مطمئن بودن از تغییرات در دیتاست اصلی فراخوانی کن.
    نکته 2: در صورتی که هیچ تغییری در دیتاست اصلی رخ نداده باشه، مقدار null برگشت داده میشه. با دستور "Is Nothing" این مورد رو چک کن.

    موفق باشید.

  6. #6
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    حالا میشه با این DataTable بدست اومده، با command های تولید شده commandBuilder بانک رو update کرد؟
    به نظر من که نمیشه.

  7. #7

  8. #8
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    مرسی دوست من، ولی فکر کنم سؤال رو درست متوجه نشدی.
    من میخوام این جدول جدیدی که از تغییرات بدست اومده رو روی dataSet اصلی اثر بدم و از اونجا به بعد میشه با کاری که گفتی، Database رو آپدیت کرد.
    مرسی.

  9. #9
    OleDbCommandBuilder br = new OleDbCommandBuilder(da);
    da = br.DataAdapter;
    da.Update(ds, "code_ing1");
    da نام دیتا آداپتور هست code_ing1 نام جدول من در اکسس
    کافیست با دیتا آداپتور دیتا ست را پر کنی و آن را با دیتا گرید binding کنی
    همین خداحافظ

  10. #10
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    دوست من!
    کارکردن با CommandBuilder رو میدونم
    فکر کنم سؤالم رو یه بار دیگه بخونی بد نباشه.
    مرسی.

  11. #11
    کاربر دائمی آواتار emad4000
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    سن
    37
    پست
    257

    Smile

    نقل قول نوشته شده توسط Behrouz_Rad
    مقادیر ثابت شمارشی، مقادیر ثابت و از پیش تعریف شده ای هستند که یک آرگومان تنها اونها رو می پذیره...
    برای متد GetChanges، این مقادیر شامل:

    Added
    Deleted
    Detached
    Modified
    Unchanged

    هستند.
    به عنوان مثال، تکه کد زیر، یک دیتاست با نام dsModified با مقادیر اصلاح شده در دیتاست Ds را بر می گرداند:

    if (ds.HasChanges()) Then
    Dim dsModified As DataSet = ds.GetChanges(DataRowState.Modified)

    نکته 1: همیشه متد HasChanges رو قبل از متد GetChanges برای مطمئن بودن از تغییرات در دیتاست اصلی فراخوانی کن.
    نکته 2: در صورتی که هیچ تغییری در دیتاست اصلی رخ نداده باشه، مقدار null برگشت داده میشه. با دستور "Is Nothing" این مورد رو چک کن.

    موفق باشید.
    سلام دوست عزیز
    من وقتی مقادیر ثابت شمارشی رو با متد getchanges می فرستم Error می گیره
    الان یادم نیست ارورش چی بود ولی به هر حال کار نمی کنه ( دفعه دیگه با خودم میارمش )
    شما حدس نمی زنید مشکل چیه که کار نمی کنه ؟؟؟

    نقل قول نوشته شده توسط aidinwashere
    دوست من!
    کارکردن با CommandBuilder رو میدونم
    فکر کنم سؤالم رو یه بار دیگه بخونی بد نباشه.
    مرسی.
    ضمنا در مورد شما هم فکر کنم شما سوالتونو بد مطرح کردین
    چون من هم هرچی می خونم می بینم جواب داده شده

    وقتی دیتاسورس یک DataGrid رو به یک DataTable بایند می کنید دیگه هر تغییری که در دیتاگرید صورت بگیره در دیتاتیبل هم اعمال می شه و متد getchanges دقیقا تغییرات دیتاتیبل رو برمی گردونه
    آخرین ویرایش به وسیله emad4000 : پنج شنبه 02 شهریور 1385 در 12:17 عصر دلیل: این پست به دلیل تکراری بودن بطور خودکار ادغام شده است.

  12. #12
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اصفهان
    پست
    7
    با عرض سلام
    می خواستم بپرسم چطوری می تونم یک Item مورد نظر را در DataSet تغییر بدم و تغییرات اعمال شده را در بانک اطلاعاتی ذخیره کنم
    خاصییت Rows در نرم افزار من خاصییت Item رو نداره...

  13. #13
    کاربر دائمی آواتار emad4000
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    سن
    37
    پست
    257
    فک کنم می بایست از خصوصیت ItemArray استفاده کنی
    ضمنا شاید بدونی که خصوصیت rows در صورتی دارای خصوصیت ItemArray ه که اندیسشو مشخص کرده باشی یعنی به این صورت


    DataSet.Tables["MyTable"].Rows[RowIndex].ItemArray["ColumnName"]

  14. #14
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اصفهان
    پست
    7
    فرض کنید که یک فیلدی از جدول را به یک textBox مقید کردیم در این صورت اگر کاربر محتویات آن را تغییر دهد چطور می تونم Dataset رو تقییر بدم و تغییرات رو در بانک اطلاعاتی ذخیره کنم
    لطفا هر کی بلده کد های لازم رو بنویسه

  15. #15
    کاربر دائمی آواتار emad4000
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    سن
    37
    پست
    257
    اگه بیشتر توضیح بدین شاید بتونم کمکتون کنم
    شما از دیتاست چه طور استفاده کردین . آیا textbox تون به دیتاست Bind شده ؟؟؟

  16. #16
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اصفهان
    پست
    7
    بله textbox به دیتاست bind شده
    منظور من این بود که بدون نوشتن کد آیا در هنگام اجرای برنامه با تغییر محتویات textbox خود به خود محتویات دیتاست هم تغییر می کنه یا نه؟

  17. #17
    منظور من این بود که بدون نوشتن کد آیا در هنگام اجرای برنامه با تغییر محتویات textbox خود به خود محتویات دیتاست هم تغییر می کنه یا نه؟
    خیر
    باید با دستور اضافه کنید
    ds.AcceptChanges();

تاپیک های مشابه

  1. ثبت تغییرات از dataset به بانک اطلاعاتی
    نوشته شده توسط bbehnam در بخش VB.NET
    پاسخ: 7
    آخرین پست: یک شنبه 09 دی 1386, 08:04 صبح
  2. پاسخ: 2
    آخرین پست: چهارشنبه 25 مهر 1386, 11:37 صبح
  3. تغییر یک فیلد در dataset
    نوشته شده توسط samansad در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 27 خرداد 1386, 15:11 عصر
  4. حرکت و تغییر در یک dataset
    نوشته شده توسط mirza در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 01 اسفند 1385, 12:18 عصر
  5. اعلام تغییر در Dataset
    نوشته شده توسط sh_m در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 12 آبان 1383, 12:36 عصر

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

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