0 امتیاز

با سلام.

این پروژه دفترچه تلفن من است، هر فرد ممکن است چندین شماره تلفن داشته باشد، حالا من این روش را پیش گرفتم که من می خواهم کاربر و قتی روی دکمه add کلیک کرد بیاد توی گرید ویو یک ستون تلفن ایجاد کند که شماره تلفن دوم فرد را insert کند، و اگر دوباره رو دکمه add کلیک کرد بیاد یک ستون دیگر مثلا با نام (تلفن3) ایجاد کند و insert تلفن سوم شخص را انجام دهد.

 

 

 

بسته شده

4 پاسخ

+1 امتیاز
 
بهترین پاسخ

 

موضوع به[ ارتباط یک به چند در دیتابیس] تغییر بدید

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

نکته کار اینجاست اگه کدملی یا شناسه شخص تو دیتابیس نباشه ثبت تاریخ دوم یا شماره دوم انجام نمیشه

از اجرای برنامه فیلم گرفتم اینم لینک آپارات

اجرای برنامه در آپـــــــــــــــــارات

 

 

دانلود سورس برنامه

برنامتون اجرا کردم کرش کرد.

رفتم خودم از اول دیتابیس ساختم، و اجرا گرفتم ولی باز کرش کرد.

ویرایش شده توسط
توسط (136 امتیاز) 1 7
این خطای فیلدها دیتابیس هست

من تو دیتابیسی که فرستادم 3 تا فیلد از توع int و 2  تا کلید یکتا یکی برای کدملی و یک هم id

و فیلدهای هر 2 جدول غیر از کلید یکتا اجازه ورود خالی رو داشتند و همچنین یه جدول دیاگرام داشتم با نام tblview1

موقع ایمپورت چه خطایی داد؟

و اینکه خودتون یبار تو سیستم خودتون از طریق دیتاست دیتابیس رو انتخاب و کانکشن استرینگ رو کپی کنید بدون اینکه دیتاست رو تایید کنید
توسط (7,164 امتیاز) 4 7 141

ببنید من عمدا این پروژه رو تو سیستم مجازی با ویژوال 2008 ساختم و وقتی تو سیستم خودم با ویژوال 2015 یا2017 باز کردم حین اتچ دیتابیس اتوماتیک دیتابیس اپگرید شد عکس زیر

 

 

همونطور که  بالا گفتم قبل بعد از اتچ دیتابیس دوباره deatach کردم و با استفاده از add new data source 

کانکشن استرینگ رو کپی کردم و دوباره اتچ کردم

خب بعد از اینا دیگه نباید مشکلی باشه من دوباره پروژه ای که تو ویژوال 2017 بار کردم رو براتون میفرستم

                http://www.w3-farsi.com

 

 

 

 

 

 

 

 

توسط (7,164 امتیاز) 4 7 141

سلام.

من برنامه درست کردم دیگر کرش نکرد و فرمم را برام اجرا کرد ولی یک مشکلی که وجود داشت مشخصات را وقتی در فرم اول وارد می کردم و دکمه insert زدم رو این کد بهم کرش کرد

توسط (136 امتیاز) 1 7

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

توسط (7,164 امتیاز) 4 7 141

ممنون درست شد.

یک سوال دیگر: اگر من بخوام  در فرم اولی وقتی کاربر روی رکورد اولی مثلا با کد 2 کلیک کرد، فرم دومیه باز شود و تمامی تلفن های شخص با کد 2 در datagridview2 نمایش دهد، که کاربر بتواند هر چه قدر تلفن برای شخص با کد 2 insert کند.

می خوام بدونم که چطوری میشه وقتی کاربر روی رکورد کلیک کرد یک فرم جدید باز شود؟

توسط (136 امتیاز) 1 7

روش کلیش با این شکله

  Form2 myForm = new Form2();

            myForm.TextBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            myForm.TextBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            myForm.TextBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            myForm.TextBox4.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();

            myForm.ShowDialog();

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

یعنی همون ارتباط یک به چند استفاده کردم

اینم سورس

http://www.w3-farsi.com

توسط (7,164 امتیاز) 4 7 141
پوزش: یک سوال دیگر

شما این پروژه را از روش entity framework نوشتید؟
توسط (136 امتیاز) 1 7

من از ado استفاده کردم

دوست عزیز درسته انتیتی شبیه ado هست  اما اگه از entity استفاده کرده بودم نصف کدها هم کافی  بودن

 

سعد کنید کلا کدنویسی کنید چون هرجا رو خواستید بعدا میتونید ویرایش کنید یعنی برای تمرین هم خوبه اما اگه از اول با مدل سازی کار کنید تنبل میشید و اینکه از بایندینگ هم استفاده نکیند

البته نظر شخصی منه

توسط (7,164 امتیاز) 4 7 141
+2 امتیاز

سلام 

تو این روش هم کدها طولانی میشن و هم اینکه قرار شد مثلا1000 تا کاربر هر روز هرکدوم 10 تا تون اضاه کنن میدونی چی میشه؟

 

بهتره یه جدول دیگه در نظر بگیری و برای هر کدوم یه ای دی بدی اون موقع یک نفر 10000 تا هم شماره درج کنه مشکلی بوجود نمیاد

میشه این روشی را که گفتیند کامل تر برام توضیح بدین که چی کار کنم؟
توسط (136 امتیاز) 1 7
0 امتیاز

ببنید باید یه دیتا بیس داریم

حاوی 2 تا تیبل

این تیبل ها هر کدوم یه مقدار هم نوع مثلا تکست دارن و اینارو از طریق ویزارد ارتباط 1به چند و یا یک به یک حسب نیاز بهم متصل میکنیم

 

الان توی یه جدول الاعات اصلی و توی یه جدول اطلاعاتی که قراره اضافه بشن رو میریزی مثل این عکس

 

ببنید اصلاعات اصلی ردیف 2222 یبار ثبت شده و بقیه موقعی هست که بخوایی اضافه کنی من یکی نوشتم تکمیله فقط لازمه یه ویو اضافه کنید

 

 

دانلود سورس بالا 

 

 

 

فقط شرمنده من که برنامه را اجرا میکنم رو این کد کرش میکند

باید چه تغییری روش اعمال کنم

توسط (136 امتیاز) 1 7
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...