PDA

View Full Version : نحوه ذخیره چند فقره چک مربوط به یک قرارداد



hooman-2k
جمعه 02 شهریور 1397, 00:43 صبح
سلام دوستان و خسته نباشید
اول از همه بابت طولانی بودن سوال پوزش میخوام
عزیزان و اساتید گرامی من دارم یک پروژه مینویسم (سیستم مدیزیت قرارداد های یک شرکت)
قسمت ثبت شرکت اولیه رو انجام دادم و اوکی هست
اما تو قسمت قراردادها یک مشکل دارم
تو این برنامه نیاز هست که در قسمت قراردادها به تعداد نامعلومی(ممکنه 1 یا 10)فقره چک ثبت بشه(شماره چک - تاریخ چک - مبلغ چک - بانک عامل چک)ودر دیتا بیس ذخیره بشه
به فکرم رسید که از آرایه کمک بگیرم به این شکل که یک فرم باز بشه داخلش 5 تا تکس باکس باشه
تکس باکس اول تعداد چک ها رو معلوم کنه (که طول ها آرایه مشخص بشه)
تکس باکس های بعدی عناثر رو دریافت کنه و تو یه آرایه مربوطه ذخیره کنه که من او آرایه ها رو تو دیتا بیس ذخیره کنم که بعدا همون آرایه رو (موقع نمایش قرارداد)تو comboBox نمایش بدم
میشه من رو راهنمایی کنید که چه کاری باید انجام بدم
اگه راه بهتری هم هست ممنون میشم بهم بگین

MMR_1234
جمعه 02 شهریور 1397, 12:22 عصر
با سلام
من هم دارم روی یک نمونه برای اینکار برنامه تهیه میکنم
میخواستم ببینم شمار برای ثبت شرکت ها چه جدولی منظور کردی
ممنون

ali_md110
جمعه 02 شهریور 1397, 12:59 عصر
DataGrid ایده بهتری برای ثبت دسته جمعی هست

hooman-2k
جمعه 02 شهریور 1397, 13:17 عصر
جداولی که من برای ثبت در دیتا بیس درست کردم اینها هست اگه درست منظورتون رو متوجه شده باشم
148732
id برای شمارنده که is identity هم باشه
customerID برای شماره مشتری که بهتره int باشه و کلید اصلی
باقی موارد رو هم که مشاهده میکنید

hooman-2k
جمعه 02 شهریور 1397, 13:22 عصر
DataGrid ایده بهتری برای ثبت دسته جمعی هست
میشه یک مقدار توضیح بدید دوست عزیر
اطلاعات DataGrid رو میشه در آرایه ریخت؟

MMR_1234
جمعه 02 شهریور 1397, 19:06 عصر
دوست خوب ممنون
اما آدرس رو بهتره مجزا کنی تا بشه بر اساس اون سرچ انجام داد
درضمن مگه برای ثبت فاکتور از یک دیتا بیس دیگه استفاده نمیکنی که اون رو کاراکتر در نظر کرفتی
ممنون

danialafshari
شنبه 03 شهریور 1397, 01:23 صبح
با سلام
نیازی به آرایه نیست
هر قرار داد یک کد داره و پرداختی که پرداختی یک جدول مجزا میشه
حالا در این جدول میتونید چک ها رو ثبت کنید و به جدول قرارداد وصلش کنید
برای ثبت هم از دیتاگرید استفاده کنید
موفق باشید

hooman-2k
شنبه 03 شهریور 1397, 01:59 صبح
دوستان مشکل اول حل شد خدارو شکر
با DataGrid تونستم تمام موارد رو پر کنم و تو آرایه بریزم
حالا یه مشکل دیگه وقتی اطلاعات در دیتا بیس میریزم موقع خواندن چیزی برنمیگردونه
به نظرم مشکل از اوع داده database هست
من نوع nvarchar(max) رو در نظر گرفتم باید از نوع دیگه ای برای ذخیره آرایه استفاده کنم؟؟

اطلاعات به این شکل که مشخص کردم در دیتابیس ذخیره میشه

148735


دوست خوب ممنون
اما آدرس رو بهتره مجزا کنی تا بشه بر اساس اون سرچ انجام داد
درضمن مگه برای ثبت فاکتور از یک دیتا بیس دیگه استفاده نمیکنی که اون رو کاراکتر در نظر کرفتی
ممنون
این برنامه فقط برای ذخیره اطلاعات و قراردادهای شرکت هست و تک کاربره که فقط مدیر کارخوانه جهت حفظ اطلاعات سفارش داده و خروجی خواصی نداره
برای جستوجو هم از 2 پارامتر استفاده میخوان بکنن
1 : شماره مشتری
2 : نام مدیر عامل
شماره مشتری برای این کلید اصلی شده که در فرم ثبت قرارداد هم ازش استفاده میشه اگه همچین کدی وجود داشته باشه اجازه ثبت قرارداد رو میده در غیر این صورت خیر

Mahmoud.Afrad
شنبه 03 شهریور 1397, 03:24 صبح
بایست یک جدول مجزا ایجاد و به ازای هر چک یک رکورد در اون ذخیره کنید و با جدول قرارداد ارتباطش بدید.

Vahid.nj
دوشنبه 05 شهریور 1397, 02:57 صبح
دوستان مشکل اول حل شد خدارو شکر
با DataGrid تونستم تمام موارد رو پر کنم و تو آرایه بریزم
حالا یه مشکل دیگه وقتی اطلاعات در دیتا بیس میریزم موقع خواندن چیزی برنمیگردونه
به نظرم مشکل از اوع داده database هست
من نوع nvarchar(max) رو در نظر گرفتم باید از نوع دیگه ای برای ذخیره آرایه استفاده کنم؟؟

اطلاعات به این شکل که مشخص کردم در دیتابیس ذخیره میشه

148735



دوست عزیز وقتی اطلاعات شما اینطوری ذخیره شده یعنی توی ذخیره اطلاعات مشکلی وجود داره.
این کد هم برای پیمایش درون اطلاعات datagridview هست:

foreach (DataGridViewRow row in datagridview1.Rows)
{
string column1 = row.Cells[0].Value.ToString();
string column2 = row.Cells[1].Value.ToString();
string column3 = row.Cells[2].Value.ToString();
}