انتقال اطلاعات بين فرم ها

moonlight149

عضو جدید
سلام
من دارم يه پرو‍ژه تو سي شارپ مي نويسم
مي خوام فرم اصلي كه باز ميشه اگه يه سري اطلاعات از قبل تو يه فايلي وجود نداشته باشه
يه فرم ديگه رو قبلش لود بكن و از كاربر اطلاعات و بگيره
حالا وقتي فرم دوم لود ميشه و اطلاعات گرفته ميشه نمي دونم كه چجوري اونا رو به فرم هاي ديگه منتقل كنم
هرچي راه بذهنم مي رسيد امتحان كردم
از كلاس گرفته تا public كردن اشيا فرم اول كه اطلاعات و بريزم توشون
ولي به محض اينكه فرم دريافت اطلاعات بسته مي شه اطلاعاتم از بين مي ره:(
من چي كار كنم؟
لطفا اگه بلديد راهنمايي كنيد
آخه چند روز ديگه بايد تحويل بدم پروژه رو فقط هم همين قسمتش مونده
ممنون از همه:gol:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سلام
من دارم يه پرو‍ژه تو سي شارپ مي نويسم
مي خوام فرم اصلي كه باز ميشه اگه يه سري اطلاعات از قبل تو يه فايلي وجود نداشته باشه
يه فرم ديگه رو قبلش لود بكن و از كاربر اطلاعات و بگيره
حالا وقتي فرم دوم لود ميشه و اطلاعات گرفته ميشه نمي دونم كه چجوري اونا رو به فرم هاي ديگه منتقل كنم
هرچي راه بذهنم مي رسيد امتحان كردم
از كلاس گرفته تا public كردن اشيا فرم اول كه اطلاعات و بريزم توشون
ولي به محض اينكه فرم دريافت اطلاعات بسته مي شه اطلاعاتم از بين مي ره:(
من چي كار كنم؟
لطفا اگه بلديد راهنمايي كنيد
آخه چند روز ديگه بايد تحويل بدم پروژه رو فقط هم همين قسمتش مونده
ممنون از همه:gol:

اشیاء کلاس را static تعریف کنید تا اطلاعات اشیاء از بین نرود :gol:
 

RIG

متخصص C#.net
میشه کامل تر توضیح بدی؟ اصلا بگی پروژه ت چیه یعنی تو کدم قسمت پروژه مورد داری اینجوری بهتر میشه دونست که چی میخای
 

moonlight149

عضو جدید
ممنون ولي static تعريف كنم يعني چي؟:surprised:
من بلد نيستم:(
پروژه كتابخونه است
مشكلم با بانك اطلاعاتي هست
نمي خوام مجبور بشم وقتي پيش استاد ميرم دوباره رشته اتصال رو از تو نرم افزار تغيير بدم
اگه بخوام كار كنم كه بانك يه فايلي توي خود پروژه هم باشه هر بار كه نرم افزار و ببندي هيچ تغييري ذخيره نشده
مي خواستم كاري كنم كه كاربر بانك رو انتخاب كنه
ولي همين انتقال اطلاعاتش رو موندم
 

RIG

متخصص C#.net
باور میکنی من هنوز متوجه مشکلت نشدم. و به نظرم شما تو مسیر دهی خودکار مشکل دارید مثل این نمونه
string masir = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}\dbcontact2.accdb", Environment.CurrentDirectory);
در مورد بالا این نمونه مربوز به مسیر دهی بانک اکسس هست که باید بانکت تو شاخه bin/ debug باشه
در ضمن اسم بانک اینجا dbconac2.accdbهست باید تغییرش بدی
 

moonlight149

عضو جدید
ببخشيد كه بلد نيستم توضيح بدم:D
ولي شما خوب متوجه شدين
يه سوال الان يعني بايد برم بانكم رو تو اون مسيري كه گفتين كپي كنم؟
بعدش اگه مثلا تو اين روش من نرم افزارو باز كردم و يك كتاب به ليست اضافه كردم دفعخ بعد كه دوباره اجراش مي كنم بازم توش هست يعني تغييرات ذخيره ميشه؟
مي خواستم يه جوري باشه كه اگه به يه نفر فايل اجرايي برنامه رو هم دادم بتونه ازش استفاده كنه با اين روش نمي شه نه؟
حتما بايد روي كامپيوترش دات نت نصب باشه!
ايناي كه برنامه مي نويسن چجوري بانكشون متصل مي كنن به نرم افزار خوب؟ سي شارژ كه نصب نمي كنن تو سيستم مشتري؟
ببخشيدا خيلي سوال كردم
ممنون اگه جواب بدين:gol:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
ببخشيد كه بلد نيستم توضيح بدم:D
ولي شما خوب متوجه شدين
يه سوال الان يعني بايد برم بانكم رو تو اون مسيري كه گفتين كپي كنم؟
بعدش اگه مثلا تو اين روش من نرم افزارو باز كردم و يك كتاب به ليست اضافه كردم دفعخ بعد كه دوباره اجراش مي كنم بازم توش هست يعني تغييرات ذخيره ميشه؟
مي خواستم يه جوري باشه كه اگه به يه نفر فايل اجرايي برنامه رو هم دادم بتونه ازش استفاده كنه با اين روش نمي شه نه؟
حتما بايد روي كامپيوترش دات نت نصب باشه!
ايناي كه برنامه مي نويسن چجوري بانكشون متصل مي كنن به نرم افزار خوب؟ سي شارژ كه نصب نمي كنن تو سيستم مشتري؟
ببخشيدا خيلي سوال كردم
ممنون اگه جواب بدين:gol:

بله اگر در مسیر برنامه قرار بدید و نسبی آدرس دهی کنید، نیازی به تغييرش نیست و همه جا کار میکنه.
در مورد اجرای برنامه های دات نت هم باید dot net framework متناسب با نسخه ای که کار کردید روی سیستم شخص نصب شود :gol:
میتونید هم یک فايل نصب با خود VS یا مثلاً InstallShield بسازید که نخواهید هودتون برنامه ها را نصب کنید :gol:
 

RIG

متخصص C#.net
خانم مدیر توضیح کامل رو داد اگه یاز هم مشکلی داشتی کد مسیر دهی رو بذار تا خانم مدیر درستش کنه . الان دیگه باید دونسته باشی چیکار کنی .
ببین تو مسیر دهی خود کار دیگه اسم درایو نمیاد از خوده پوشه برنامه شروع میکنه میگرده بانک رو پیدا میکنه پس برنامه تو هر درایو یا تو سیستم دیگه ای باشه مهم نیست باید از اون مسیر خودکاربهره ببری و بانکتم تو اون ادرس بذاری
 

moonlight149

عضو جدید
ممنون:gol:
فكر مي كنم متوجه شدم
اما اگه سوال برام پيش اومد باز مزاحم ميشم
خيلي خيلي خيلي ممنون از همه:redface::heart:
 

moonlight149

عضو جدید
سلام
دوستان اين روشي كه گفتيد خيلي خوبه فقط يه مشكلي كه هست اينه كه هر تغيير كوچكي كه
تو كد برنامه مي دم وقتي دوباره برنامه اجرا ميشه بانك رو هم رفرش مي كنه يعني تو اجراي مجدد تمام اطلاعاتي كه قبلا تو جدول وارد كرده بودم از بين ميره
راهي نيست كه اين طوري نشه؟
ممنون ميشم راهنماييم كنيد:gol::smile:
 

RIG

متخصص C#.net
سلام
دوستان اين روشي كه گفتيد خيلي خوبه فقط يه مشكلي كه هست اينه كه هر تغيير كوچكي كه
تو كد برنامه مي دم وقتي دوباره برنامه اجرا ميشه بانك رو هم رفرش مي كنه يعني تو اجراي مجدد تمام اطلاعاتي كه قبلا تو جدول وارد كرده بودم از بين ميره
راهي نيست كه اين طوري نشه؟
ممنون ميشم راهنماييم كنيد:gol::smile:
ویزاردی کار کردی . تو ویزارد این مشکلات هست من خودم اینجوری کار نکردم نمیدونم راهش چیه . باید قسمتیو ویزاردی کار کرده باشی درسته ؟!!!!!!!!!!!
 

moonlight149

عضو جدید
آره با ويزارد بانك و متصل كردم
ميشه بگيد شما از چه روشي ميريد ؟ من راه ديگه بلد نيستم
 

Similar threads

بالا