مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

آپدیت سطر جابه شده در DGV(دیتاگرید) در DBS با C# و مشکل datareader

  • جمعه 11 اسفند 1396
  • 11:37
تشکر میکنم

با سلام 

1-چگونه می توان بعد از جابه جا کردن یک سطر در DataGridView این تغییر را در DataBase اعمال کرد و ردیف ID از یک تا آخر دوباره Sort شود یعنی ردیفی که سوم بوده و الان چهارم شده عدد ID و جایگاه ردیفش در Database چهار شود. دیتابیسم Access2010 هست. ردیف را در DataGridview بالا و پایین می برم اما نمی دونم چطور در پایگاه داده اعمال کنم.

2-وقتی برای نمایش داده هام از datareader استفاده می کنم و جداولم رو از یک کمبو باکس یا تکست باکس می خونم با انتخاب جدول بعد، این جدول جدید به پایین جدول قبل در datagridview اضافه می شه و Reset نمیشه. برای datareader از کد زیر استفاده می کنم: (در واقع این کد BintToGrid من است )

OleDBConnectio con=new OleDBConnection(conectionString);

Con.Open();

OleDBDataCommand com=new OleDBCammand(“Select *From[“+txtBox1.Text+”]”,con);

OleDBDataReader dr;

Dr=com.ExecuteReader();

While(dr.read())

{

Dgv1.Rows.Add(dr[“ID”],dr.[“name”].ToString());

}

Dr.Close();

Con.Close();

ممنون میشم راهنماییم کنید.

سپاس پیشاپیش از دوستان بزرگوار.

همچنین سپاس فراوان از جناب آقای ایمان مدائنی برای مطالب مفید و زحمات بدون چشم داشت ایشان.

  

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 11 اسفند 1396
  • 15:17

بایید در روداد کنترل کنید

private void DataGridView1_RowStateChanged(Object sender, DataGridViewRowStateChangedEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Row", e.Row );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "StateChanged", e.StateChanged );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "RowStateChanged Event" );
}

بعد از تغییر خط ، خط جاری را بدست بیارید و تغییرات مورد نظر را در بانک اعمال کنید

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

  • جمعه 11 اسفند 1396
  • 22:26

سپاس فراوان برای جوابتون.

 میشه درمورد کدهاتون کمی توضیح بدید لطفا.

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

  • جمعه 11 اسفند 1396
  • 22:52

این کدها Index مربوط به سطر تغییر مکان داده رو نشونم میده.مهم برای من اعمال این تغییر توی پایگاه داده هست.

برای تعیین سطر تغییر داده شده میتونم از :

int currentRow=dgv1.SelectedRows[0].index;

استفاده کنم. 

*****مهم****: برای پاک کردن دیتاریدرم و به واسطه اون دیتاگریدم (داده های درون اون) قبل از هربار استفاده مجدد (انتخاب یک جدول جدید از پایگاه داده) میتونید کمکم کنید؟؟؟؟

سپاس فرآوان از وقتی که برای پاسخ دادن میگذارید.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 12 اسفند 1396
  • 09:40

اون کدها رو فقط برای نمونه و ایده گرفتن بهتون دادم 

باید خودتون شماره سطر رو بدست بیارید و در بانک تغییرات را انجام دهید

نمونه برای اینکار ندارم وگر نه در اختیارتون قرار میدادم 

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

  • شنبه 12 اسفند 1396
  • 12:46

سلام بزرگوار.

سپاس فراوان برای پیگیری و پاسخ شما.

دوستان عزیز اگه کسی نمونه ای داره که کمکم کنه ممنون می شم.

کاربر سایت

ehsan hosseinnejad

عضویت از 1396/11/10

  • شنبه 12 اسفند 1396
  • 18:45
سلام دوستان قسمت دوم سوالم با کد زیر حل میشه. ِDGV1.Rows.Clear();
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)