PDA

View Full Version : سوال: ذخیره دیتاگرید در دیتابیس



mehdi zanjani
شنبه 12 فروردین 1391, 19:03 عصر
1 2 روزه 1 2 تا تاپیک بدون جواب در این مورد زده شد که هیچ کدوم جوابی نداشت حالا من کنجکاو شدم ببینم چجور میشه اینکارو کرد چون از صبح هر کدی مینویسم جواب نمیده هر ایده ای هر روشی به ذهنم اومد امتحان کردم ولی نتونستم این کارو بکنم از دوستان کسی کدی بلده لطفا راهنمایی کنه!!!

مرسی!

masoudmok
شنبه 12 فروردین 1391, 19:06 عصر
احتمالا راه های ساده تر و سریع تری هم هست ولی ...
سطر به سطر از گرید بخون و توی دیتابیس ذخیره کن !!!

mehdi zanjani
شنبه 12 فروردین 1391, 19:15 عصر
ولی ... چی؟؟

نه دیگه راه ساده که خیلی زیاده 1 راه منطقی و خوب سطر به سطر خوندن و درج کردن سر خودمونو شیره مالیدنه! راه خوب!!!

وگرنه با DataRow و DataSet آپدیت میکنی دیگه چه کاریه!!!

1 راه که کل محتویات DataGridView رو به دیتابیس منتقل کنه.

zayens
شنبه 12 فروردین 1391, 20:16 عصر
1 2 روزه 1 2 تا تاپیک بدون جواب در این مورد زده شد که هیچ کدوم جوابی نداشت

منظورش این تاپیکه...

http://barnamenevis.org/showthread.php?334328-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D9%85%D8%B3%D8%AA%D9%82%DB%8C%D9%85-%DA%AF%D8%B1%DB%8C%D8%AF-%D8%A8%D9%87-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3

جواب بنده را هم بدین ممنون میشم


1 راه که کل محتویات DataGridView رو به دیتابیس منتقل کنه.

به عبارتی بایند datagridview به database بدون استفاده از کد نویسی (binding source)

mehdi zanjani
شنبه 12 فروردین 1391, 20:42 عصر
نه بدون کد نویسی به درد نمیخوره دوست عزیز!!

mehdi zanjani
شنبه 12 فروردین 1391, 21:30 عصر
ظاهرا راهی جز DataTable , DataSet وجود نداره!!!!

nasimsltn7@gmail.com
شنبه 12 فروردین 1391, 22:28 عصر
خوب اگه میشه همین datatable , dataset رو توضیح بدید.

zayens
یک شنبه 13 فروردین 1391, 00:01 صبح
نه بدون کد نویسی به درد نمیخوره دوست عزیز!!

مهم نیست که به درد میخوره یا نه
من لازمش دارم
اگر میشه بهم بگین چه جوریه
البتهمن بدون کد از راه سورس بایندینگ ، اطلاعات جدولم را بدون هیچ کدی به جدول مورد نظر
در دیتابیسم وصل میکنم و در گرید، این اطلاعات بعد از اجرای برنامه قابل مشاهدست
اما ویرایش و تغییرات اطلاعاتی که توی گرید میدم تأثیری روی دیتابیسم نداره
میخوا ببینم مشکل کجاست!


ظاهرا راهی جز DataTable , DataSet وجود نداره!!!!
چرا وجود داره
همین راهی که گفتم
یعنی بایند کردن مستقیم دیتاگرید به دیتابیس (که در این صورت تغییرات توی گرید برابر با تغییرات توی دیتابیسه)


خوب اگه میشه همین datatable , dataset رو توضیح بدید.
توی زمینه ی های فوق خیلی تاپیک و پست وجود داره که سرچ کنین متوجه میشین
در این مورد توصیه ی من اینه که از برنامه های سورس باز استفاده کنی که توی همین سایت تا دلت بخواد برنامه ی open source وجود داره

mehdi zanjani
یک شنبه 13 فروردین 1391, 01:29 صبح
BidingSource لقمه حاضر آماده است و از نظر من استفاده از اون فقط برنامه نویس رو تنبل میکنه برای نوشتن برنامه و تسلط باید کد نوشت !!! الان راه حل این مسئله رو با مثال توضیح میدم!!!

zayens
یک شنبه 13 فروردین 1391, 01:44 صبح
BidingSource لقمه حاضر آماده است و از نظر من استفاده از اون فقط برنامه نویس رو تنبل میکنه برای نوشتن برنامه و تسلط باید کد نوشت !!! الان راه حل این مسئله رو با مثال توضیح میدم!!!

ممنون
هرکاری از دستت برمیاد بکن
چند روزه هیشکی جوابم را نمیده
فقط خواهشا وقتی آموزش دادی دوباره به همین تاپیک یا تاپیک زیر
http://barnamenevis.org/showthread.php?334328-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D9%85%D8%B3%D8%AA%D9%82%DB%8C%D9%85-%DA%AF%D8%B1%DB%8C%D8%AF-%D8%A8%D9%87-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3
سر بزن تا اگر سوالی داشتم بپرسم

mehdi zanjani
یک شنبه 13 فروردین 1391, 02:10 صبح
این 1 راه حل :

for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
{
ds.Tables["table1"].Rows.Add();
dt.Rows.Add();
for (int j = 0; j <= 3;j++ )
{
ds.Tables["table1"].Rows[i][j] = dataGridView1[j, i].ToString();
}
}

zayens
یک شنبه 13 فروردین 1391, 02:46 صبح
این 1 راه حل :

for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
{
ds.Tables["table1"].Rows.Add();
dt.Rows.Add();
for (int j = 0; j <= 3;j++ )
{
ds.Tables["table1"].Rows[i][j] = dataGridView1[j, i].ToString();
}
}



ممنون
ولی یادمه یه راه حل بود که نیازی به نوشتن حتی همین مقدار کد هم نبود
تنها کار Attach کردن فایل دیتابیس به خود برنامه بود
یعنی هیچ کدی وجود نداشت و از طریق properties دیتاگرید بایند را انجام میدادی!

mehdi zanjani
یک شنبه 13 فروردین 1391, 09:39 صبح
این راه راهی هست که اول دوستمون گفتن خط به خط میخونه و میریزه تو دیتابیس!!

اینم 1 راه حل دیگه با BindingSource که تو CodeProject بود :

لینک (http://www.codeproject.com/Articles/12846/Auto-Saving-DataGridView-Rows-to-a-SQL-Server-Data)

zayens
یک شنبه 13 فروردین 1391, 16:43 عصر
این راه راهی هست که اول دوستمون گفتن خط به خط میخونه و میریزه تو دیتابیس!!

اینم 1 راه حل دیگه با BindingSource که تو CodeProject بود :


لینک


ممنون ولی همینم نیاز به کد نویسی داره که البته حجم کم کدنویسی قابل ملاحظه است ولی اگر میشه در مورد راهی که توی پست قبلی توضیح دادم راهنمایی بفرمایین

mehdi zanjani
یک شنبه 13 فروردین 1391, 19:20 عصر
آخه دوست خوبم ما برنامه نویسی نویسی میکنیم دیگه بدون کد نویسی هم مگه برنامه نویسی میشه!! حجم کد قابل ملاحظه نیست شما از 1 قسمتی از اون میخواید استفاده کنید!!! اینم بهتون بگم اگه دقت کرده باشید اکثر برنامه نویس ها از اینکه 1 کنترل رو به بصورت User Control به مشتری بدن پرهیز میکنن مخصوصا اگه کنترل با دیتابیس در ارتباط باشه چون آسیب پذیری نرم افزار رو بالا میبره!!! اگه پروژه مینویسید به این نکته دقت داشته یاشید.

zayens
سه شنبه 15 فروردین 1391, 12:56 عصر
آخه دوست خوبم ما برنامه نویسی میکنیم دیگه بدون کد نویسی هم مگه برنامه نویسی میشه!! حجم کد قابل ملاحظه نیست شما از 1 قسمتی از اون میخواید استفاده کنید!!! اینم بهتون بگم اگه دقت کرده باشید اکثر برنامه نویس ها از اینکه 1 کنترل رو به بصورت User Control به مشتری بدن پرهیز میکنن مخصوصا اگه کنترل با دیتابیس در ارتباط باشه چون آسیب پذیری نرم افزار رو بالا میبره!!! اگه پروژه مینویسید به این نکته دقت داشته یاشید.

اولا من نگفتم حجم کد قابل ملاحظه است! که شما هم بگین حجم کد قابل ملاحظه نیست
من گفتم حجم کم کد قابل ملاحظه است و قبول دارم که خیلی راه کوتاهیه
در ثانی ما برنامه نویسی میکنیم نه کدنویسی
فرقش اینه که برنامه نویس از کوتاهترین و بهترین راهی که تشخیص میده باید برنامه را به پایان برسونه و حتما لزومی نداره برای اینکه بگیم ما برنامه نویس هستیم در بعضی جاهایی که ضرورت نداره بجای
استفاده از راه های کوتاه از یه میلیون خط کد استفاده کنیم!

mehdi zanjani
چهارشنبه 16 فروردین 1391, 10:30 صبح
اولا من نگفتم حجم کد قابل ملاحظه است! که شما هم بگین حجم کد قابل ملاحظه نیست
من گفتم حجم کم کد قابل ملاحظه است و قبول دارم که خیلی راه کوتاهیه
در ثانی ما برنامه نویسی میکنیم نه کدنویسی
فرقش اینه که برنامه نویس از کوتاهترین و بهترین راهی که تشخیص میده باید برنامه را به پایان برسونه و حتما لزومی نداره برای اینکه بگیم ما برنامه نویس هستیم در بعضی جاهایی که ضرورت نداره بجای
استفاده از راه های کوتاه از یه میلیون خط کد استفاده کنیم!

اگه درس طراحی الگوریتم پاس کرده باشید متوجه میشید همیشه کوتاه ترین کد بهترین کد نیست!!!