PDA

View Full Version : سوال: ویرایش دسته جمعی اطلاعات در database



barman.ar16
سه شنبه 14 شهریور 1396, 13:03 عصر
سلام و خداقوت به دوستان و اساتید عزیز ؛
بنده یک پروژه دارم با سی شارپ که دیتابیسم sqlite هست
در یکی از جداولم که جدول پایه و اطلاعات دانش آموزان هست بوسیله متد transaction اطلاعات از فایل اکسل خونده میشه و درون جدول ریخته میشه

بعدا همین جدول توی قسمت های مختلف به کار گرفته میشه به طور مثال نام و نام خانوادگی رو توی فرم های مختلف از کاربر پرسیده نمیشه بلکه قبل از ورود به هر فرم یک فرم درست کردم که به عنوان selection هست و با کلیک به روی اطلاعات هر کدام اطلاعات درون فرم بعد ریخته میشه و در نهایت درون اون فرم چند تا فیلد دیگه بهش اضافه میشه و در یک جدول دیگه ذخیره میشن

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

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

ببخشید طولانی شد مجبور بودم کامل توضیح بدم تا منظور رو برسونم

پیشاپیش از راهنمایی شما عزیزان متشکرم

رامین مرادی
سه شنبه 14 شهریور 1396, 14:08 عصر
شما بجای اینکه خود اطلاعات پایتون رو دوباره توی جداول دیگه ذخیره کنید، فقط کلید اونو ذخیره کنید. وقتی هم که اطلاعات رو میخونید با جدول پایتون جوین کنید و نشون بدید. دیگه نیاز نیست اطلاعات کل جداول رو تغییر بدین

barman.ar16
چهارشنبه 15 شهریور 1396, 09:12 صبح
سلام و ممنون از راهنمایی تون بعله خودم موقعی که داشتم طراحی میکردم به ذهنم رسید که این کار رو بکنم ولی یه مشکل دارم اگر اون رو راهنمایی کنید مشکلم حل میشه

من یک جدول دارم که جدول پایه هست شامل : نام / نام خانوادگی / کد ملی / پایه / شعبه

و چند تا جدول دیگه که مثلا یکیش جدول ثبت موارد انضباطی هست ...
خب توی جدول ثبت موارد انضباطی من نام / نام خانوادگی / کد ملی / پایه / شعبه / تاریخ ثبت مورد انضباطی / توضیح / نتیجه پیگیری رو در واقع بهش نیاز دارم

با این توضیح شما یعنی من فقط کد ملی / تاریخ ثبت مورد انضباطی / توضیح / نتیجه پیگیری رو ثبت کنم توی جدول و دیگه نام / نام خانوادگی / پایه / شعبه رو بیخیال بشم که اگر بعدا اطلاعاتی همچون نام / نام خانوادگی / پایه / شعبه در جدول پایه تغییر کرد مشکلی پیش نیاد

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

سوالم اینه که چطوری اینجا join رو انجام بدم تا مثلا اگر فلان کد ملی ثبت شده بره و نام و نام خانوادگی پایه و شعبه رو برداره بیاد و با بقیه اطلاعات ادغام کنه و درون دیتاگرید ویو نشون بده به این دلیل که کاربر بتونه بر اساس هر کدوم که خواست جستجو کنه و در نهایت توی چاپ هم همه اطلاعات باشه

ممنون و پیشاپیش از راهنمایی هاتون تشکر می کنم

رامین مرادی
چهارشنبه 15 شهریور 1396, 10:00 صبح
سلام شما کافیه کوئری که مینویسید رو مثلا اینجوری بنویسید



select Per.Name,Per.CodeMeli,Enzebati.Natijeh,Enzebati.Pa giri From Per
inner join Enzebati On Per.CodeMeli=Enzebati.CodeMeli


و یا



select Per.Name,Per.CodeMeli,Enzebati.Natijeh,Enzebati.Pa giri From Per, Enzebati
where Per.CodeMeli=Enzebati.CodeMeli



در ضمن کاش بگید با چه روشی کد میزنید. ado ?? یا از ویزاردها استفاده میکنید؟

در ضمن منطقی تر اینه جدول پایه داشته باشید. هم افزونگ کم میشه هم مشکل تغییر و این چیزا رو ندارید