View Full Version : اعمال تغییراتی که در DataGridView صوردت میگیره به جدول
nasr
چهارشنبه 11 مرداد 1385, 11:44 صبح
سلام
اول بگم که من 35 دقیقه جستجو کردم و چیزی در این مورد پیدا نکردم
من یک DataGridView گذاشتم روی فرم و اطلاعات رو نشون میده
حالا وقتی تغییراتی در این اطلاعات اعمال میشه وقتی برنامه رو می بندم و باز میکنم اصلا انگار نه انگار
ممنون میشم راهنمایی کنید(لطفا یه کمی کامل بگید خیلی بهتره)
تشکر
emad4000
چهارشنبه 11 مرداد 1385, 14:43 عصر
وقتی شما در دیتاگریدویو تغیراتی می دید این تغییرات روی DataSet اعمال می شن نه روی DataBase و وقتی شما برنامه رو باز و بسته می کنید مجددا اطلاعات قبلی از دیتابیس گرفته میشن
شما باید با یک Command یا Adaptor مجددا اطلاعات دیتاست رو بریزید توی دیتابیس
nasr
چهارشنبه 11 مرداد 1385, 16:09 عصر
سلام
لطفا میشه بفرمایید با چه دستوری می شه این کار را انجام داد
ممنون
aidinwashere
پنج شنبه 12 مرداد 1385, 00:36 صبح
http://www.barnamenevis.org/forum/showthread.php?t=49677
emad4000
شنبه 14 مرداد 1385, 14: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, 10:29 صبح
اگر بخواهیمdll مربوط به datagridviewرا که سفارشی است از vs2005 به vs2003 بیاوریم چه طور این کار را انجام می دهیم ؟
ghafoori
چهارشنبه 18 مرداد 1385, 15:41 عصر
اگر بخواهیمdll مربوط به datagridviewرا که سفارشی است از vs2005 به vs2003 بیاوریم چه طور این کار را انجام می دهیم ؟
همچین کاری نمیشه 2005 دات نت شماره2 و 2003 دات نت 1.1 همچین کاری امکان پذیر نیست
Milad Mohseny
پنج شنبه 19 مرداد 1385, 14: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, 16:41 عصر
من از ویزارد استفاده نمیکنم و با کد نویسی Connection , DataAdapter , DataTable درست میکنم و ...
مشکل کارتون همینجاست. چون کامند insert مشخص نکردید که دستور update بتونه با استفاده از اون جدول رو پر کنه.
KingOfDotNet
جمعه 20 مرداد 1385, 16: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);
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.