PDA

View Full Version : انتقال اطلاعات از بانک اطلاعاتی به دیتاگرید!



man_iran
پنج شنبه 28 تیر 1386, 17:56 عصر
سلام.
دوستان عزیز من سوال داشتم اگر لطف کنید من را راهنمایی کنید.
من می خوام در پروژه ای یه مقدار فایل را به اکسس انتقال بدم (که این کار را انجام دادم.) حالا می خوام این فایل ها را از اکسس به فرو برگردونم برای این کار هم از دیتاست استفاده کردم. و به لیست باکس می تونم بیارم ولی می خوام آنها را به دیتاگرید DataGridView منتقل کنم. برای این کار من فقط یک روش را می دونم که اون هم مشکل داره :
روش :
dataGrid1.DataBindings.Add(newBinding("DataSource", ds, "NameTable"));

ولی مشکل این روش اینه که فقط داده ها را نمیاره بلکه تمام اطلاعات را میاره یعنی کل جدول اکسس به همراه نام ستون ها را با خودش میاره !
حالا از دوستان اگر کسی روشی داره که بتونه فقط داده ها را بیاره و هیچ نوع دستکاری در دیتاگرید فرم انجام نشه من را راهنمایی کنه...
ضمنا من با C#2005 کار می کنم.

man_iran
پنج شنبه 28 تیر 1386, 22:27 عصر
چرا کسی من را راهنمایی نمی کنه ؟!!!!!!!!!!!!!!!!!!!!
خیلی خیلی خیلی فوریه...
لطف کنید و راهنمایی کنید.

egoldashraf
پنج شنبه 28 تیر 1386, 22:35 عصر
میتونید نام ستون رو عوض کنید (از محیط Design ) . ضمنا مینونید دیتا ست رو فیلتر کنید و بعد به گرید وصل کنید تا همه اطلاعات رو نمایش نده!

man_iran
پنج شنبه 28 تیر 1386, 22:51 عصر
میتونید نام ستون رو عوض کنید (از محیط Design ) . ضمنا مینونید دیتا ست رو فیلتر کنید و بعد به گرید وصل کنید تا همه اطلاعات رو نمایش نده!
چطور می شه این کارها را انجام داد ؟

راستی من روشی می خواستم که یکی یکی داده ها را از بانک اطلاعاتی به دیتا گرید ارسال کنه همون طور که به لیست باکس ارسال می کنه (متوجه می شید؟).

egoldashraf
پنج شنبه 28 تیر 1386, 23:00 عصر
میتونید با یک کوئری اطلاعات رو از دیتا بیس بخونید ، توی یه دیتا سورس بریزید و به عنوان DataSource برای دیتا گریدتون معرفی کنید.

برای عوض کردن نام ستونها هم میتونید از مسیر زیر در پراپرتی های گرید عمل کنید:
1- برای تعیین نام فیلد در دیتا بیس : Columns - DataPropertyName
2- برای تعیین نام انتخابی شما برای نمایش در سرستون : Columns - HeaderText


اگه منظورتون چیز دیگه ای هست متوجه نشده ام !

man_iran
پنج شنبه 28 تیر 1386, 23:21 عصر
میتونید با یک کوئری اطلاعات رو از دیتا بیس بخونید ، توی یه دیتا سورس بریزید و به عنوان DataSource برای دیتا گریدتون معرفی کنید.

برای عوض کردن نام ستونها هم میتونید از مسیر زیر در پراپرتی های گرید عمل کنید:
1- برای تعیین نام فیلد در دیتا بیس : Columns - DataPropertyName
2- برای تعیین نام انتخابی شما برای نمایش در سرستون : Columns - HeaderText


اگه منظورتون چیز دیگه ای هست متوجه نشده ام !

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

egoldashraf
جمعه 29 تیر 1386, 00:46 صبح
اطلاعات ستون اول جدول اکسس بره توی سطر اول دیتاگرد



متوجه نمیشم؟

man_iran
جمعه 29 تیر 1386, 01:18 صبح
دوست عزیز این بار سعی می کنم به صورت کامل توضیح بدم امیدوارم متوجه بشید...
ببینید همون طور که گفتم دو تا جدول داریم که یکیش توی اکسس هست و دومی یه دیتاگرید.
این را هم بگم که تعداد سطرها و ستون های هر دو با هم مساوی هستند.
حالا برای اینکه جدول اکسس را به دیتاگرید انتقال بدم یه راه است که همون اول اشاره کردم که اشکالش اینه که فقط داده ها را منتقل نمی کنه بلکه تمام جدول را به دیتاگرید انقیاد می ده (مشخصات خود جدول اکسس به همراه نام ستون ها را منتقل می کنه یه جورایی انگار خود جدول اکسس هست).
ولی من می خوام فقط داده های موجود انتقال پیدا کنند!
مثلا :
جدول اکسس :
name famil sen
20 مهمدی رضا
11 رضایی حسن

جدول دیتاگرید :
سن فامیل نام

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

سن فامیل نام
20 مهدی رضا
11 رضایی حسن

اگر ممکنه راهنمایی کنید (شرمنده خیلی خیلی فوریه !).
ممنون.

egoldashraf
جمعه 29 تیر 1386, 01:31 صبح
امیدوارم کمکت کنه
ولی دو تا جدول نداریم !

man_iran
جمعه 29 تیر 1386, 11:46 صبح
امیدوارم کمکت کنه
ولی دو تا جدول نداریم !

ممنون از راهنمایی...
ولی ممکنه بگید با چه ورژنی از سی شارپ نوشتید؟ من از 2005 استفاده می کنم و باز نمی کنه!!!
در مورد اینکه گفتم دوتا جدول داریم اینکه دیتاگرید را هم یه جدول حساب کنید که تمام سطرها و ستون های آن برابر با جدول اکسس باشه ...
راستی برای اینکه متوجه گفته من بشید یه چیزی دیگه می گم. اگر بخوام همه اطلاعات را نیارم باید چه کار کنم یعنی فقط دو یا سه رکورد مشخص را منتقل کنم.
ممنون.

shr6557
جمعه 29 تیر 1386, 16:28 عصر
سلام
من تازه دارم با سی شارپ کار می کنم این تاپیک خیلی کمکم کرد ولی چیزی که هنوز نمی دونم این هست که وقتی مثلا در برنامه بالا اطلاعات را از بانک اطلاعاتی به یک دیتاگرید میریزیم چگونه می شه تغییراتی که در دیتاگیرد می دهیم را در بانک اطلاعاتی ذخیره نماییم
ممنون

shr6557
جمعه 29 تیر 1386, 16:34 عصر
سلام
من تازه دارم با سی شارپ کار می کنم این تاپیک خیلی کمکم کرد ولی چیزی که هنوز نمی دونم این هست که وقتی مثلا در برنامه بالا اطلاعات را از بانک اطلاعاتی به یک دیتاگرید میریزیم چگونه می شه تغییراتی که در دیتاگیرد می دهیم را در بانک اطلاعاتی ذخیره نماییم
ممنون

PC2st
جمعه 29 تیر 1386, 16:44 عصر
به کمک متد Update از کلاس DataAdapter... در سایت تاحدودی مطلب هست:
http://barnamenevis.org/forum/search.php?searchid=493478

egoldashraf
جمعه 29 تیر 1386, 16:57 عصر
دوست عزیز اگه دقت کنی من تو اکسس 4 تا ستون داشتم ولی سه تا از اونا رو آوردم توی گرید.
برنامه هم با 2005 نوشته شده!

egoldashraf
جمعه 29 تیر 1386, 16:57 عصر
ممکنه بگی برای باز کردن پروژه چه اروری میگیری؟

man_iran
جمعه 29 تیر 1386, 20:34 عصر
ممکنه بگی برای باز کردن پروژه چه اروری میگیری؟

دوست عزیز اصلا برنامه اجرایی در برنامه وجود ندارد و در هنگام باز کردن فرم نیاز از آن طریق نیز برنامه اجرایی کار نمی دهد!!!!!
ممکنه بررسی کنید؟
ممنون!

egoldashraf
جمعه 29 تیر 1386, 20:56 عصر
دوست عزیز. چک کردم. مشکلی نبود. به هر حال exe رو هم برات گذاشتم

man_iran
جمعه 29 تیر 1386, 22:24 عصر
ممنون تا حدودی متوجه شد.
دوست عزیز مثلا ما اطلاعات را از اکسس داخل دیتابیس قرار دادیم حالا برای اینکه داخل آنها بگریم و یه مشخصات خاص را داخل دیتاگرد منتقل کنیم باید چه کار کنیم؟
مثلا ما داخل یه تکست باکس می نویسیم علی و فقط مشخصات علی را داخل دیتاگرد منتقل می کنیم.
ممنون می شم جواب این سوالم را هم بدید.

egoldashraf
جمعه 29 تیر 1386, 23:05 عصر
یه عبارت Where انتهای کوئری خودت اضافه میکنی.

shr6557
جمعه 29 تیر 1386, 23:15 عصر
سلام
من درست متوجه نشدم که چطوری می شه تغییر ات رو ذخیره کرد . میشه لطف کنید همون برنامه ای رو که نوشتید یه کاری کنید که ذخیره هم بکنه تا من از کدتون متوجه بشم؟
ممنون میشم