PDA

View Full Version : اعمال تغییراتی که در DataGridView صوردت میگیره به جدول



nasr
چهارشنبه 11 مرداد 1385, 10:44 صبح
سلام
اول بگم که من 35 دقیقه جستجو کردم و چیزی در این مورد پیدا نکردم

من یک DataGridView گذاشتم روی فرم و اطلاعات رو نشون میده

حالا وقتی تغییراتی در این اطلاعات اعمال میشه وقتی برنامه رو می بندم و باز میکنم اصلا انگار نه انگار

ممنون میشم راهنمایی کنید(لطفا یه کمی کامل بگید خیلی بهتره)

تشکر

emad4000
چهارشنبه 11 مرداد 1385, 13:43 عصر
وقتی شما در دیتاگریدویو تغیراتی می دید این تغییرات روی DataSet اعمال می شن نه روی DataBase و وقتی شما برنامه رو باز و بسته می کنید مجددا اطلاعات قبلی از دیتابیس گرفته میشن
شما باید با یک Command یا Adaptor مجددا اطلاعات دیتاست رو بریزید توی دیتابیس

nasr
چهارشنبه 11 مرداد 1385, 15:09 عصر
سلام

لطفا میشه بفرمایید با چه دستوری می شه این کار را انجام داد

ممنون

aidinwashere
چهارشنبه 11 مرداد 1385, 23:36 عصر
http://www.barnamenevis.org/forum/showthread.php?t=49677

emad4000
شنبه 14 مرداد 1385, 13:19 عصر
روش راحت این کار اینجوریه :لبخند:


MyDataAdapter.Update(MyDataSet);

البته دقت کن که پس از دادن دستور SELECT به دیتاآداپتر ( در محیط ویزاردش ) هر چهار Command دیتاآداپتر Generate بشن

SelectCommand Has Generated Successfully
DeleteCommand Has Generated Successfully
InsertCommand Has Generated Successfully
UpdateCommand Has Generated Successfully

Fatemeh_2005
چهارشنبه 18 مرداد 1385, 09:29 صبح
اگر بخواهیمdll مربوط به datagridviewرا که سفارشی است از vs2005 به vs2003 بیاوریم چه طور این کار را انجام می دهیم ؟

ghafoori
چهارشنبه 18 مرداد 1385, 14:41 عصر
اگر بخواهیمdll مربوط به datagridviewرا که سفارشی است از vs2005 به vs2003 بیاوریم چه طور این کار را انجام می دهیم ؟
همچین کاری نمیشه 2005 دات نت شماره2 و 2003 دات نت 1.1 همچین کاری امکان پذیر نیست

Milad Mohseny
پنج شنبه 19 مرداد 1385, 13:49 عصر
سلام دوستام مشکل من باز هم برطرف نشد.
من از ویزارد استفاده نمیکنم و با کد نویسی Connection , DataAdapter , DataTable درست میکنم و بعد DataTable رو مساوی DataSource گرید قرار میدهم ولی وقتی میخواهم Update کنم خطای زیر را میدهد
Update requires a valid InsertCommand when passed DataRow collection with new rows.


DataTable tb =new DataTable();
if (myDataSet.HasChanges() == true)
tb = myBankTbl.GetChanges();
myAdapter.Update(tb);

once4ever
پنج شنبه 19 مرداد 1385, 15:41 عصر
من از ویزارد استفاده نمیکنم و با کد نویسی Connection , DataAdapter , DataTable درست میکنم و ...
مشکل کارتون همینجاست. چون کامند insert مشخص نکردید که دستور update بتونه با استفاده از اون جدول رو پر کنه.

KingOfDotNet
جمعه 20 مرداد 1385, 15:14 عصر
دوست عزیز شما برای update کردن یک dataset باید سه تا command داشته باشی :
DeleteCommand
UpdateCommand
InsertCommand

data adapter بطور کلی با 4 تا command کار میکنه 3 تای بالا برای update کردن و یه selectCommand برای load کردن دیتا توی dataset لازمه.

این کد روش ساختن یه DataAdapter رو نشون میده .البته در این کد از SqlCommandBuilder که توی .Net FrameWork هست استفاده شده . اگر خواستی بگو تا روش Manual رو بهت بگم.
SqlCommandBuilder برات اون 3 تا Command رو جهت update میسازه :









string connectionString = ""; // Your Connection string.;

SqlConnection cnn = new SqlConnection(connectionString);

SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT * FROM MyTable",cnn);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataSet dataSet = new DataSet("MyDataset");
dataAdapter.Fill(dataSet);
//اعمال تغییرات روی دیتا
dataAdapter.Update(dataSet);